Skip to content

Instantly share code, notes, and snippets.

@retorquere
Created April 12, 2011 10:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save retorquere/915317 to your computer and use it in GitHub Desktop.
Save retorquere/915317 to your computer and use it in GitHub Desktop.
From 8348296a6ef78f2bfef53ad31d9d94b834a9b98a Mon Sep 17 00:00:00 2001
From: friflaj <friflaj@redminebacklogs.net>
Date: Tue, 12 Apr 2011 12:32:14 +0200
Subject: [PATCH] Set namespace before parse, handle equivalent extended_uri symbols
---
lib/model/item.rb | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/model/item.rb b/lib/model/item.rb
index 2af2319..8bfa23b 100644
--- a/lib/model/item.rb
+++ b/lib/model/item.rb
@@ -76,8 +76,8 @@ module Viewpoint
@change_key = ews_item[:item_id][:change_key]
@text_only = false
@updates = {}
- @tags = parse_tags
@tagspace = (Viewpoint::EWS::EWS.instance).tagspace
+ @tags = parse_tags
init_methods
end
@@ -377,10 +377,10 @@ module Viewpoint
def parse_tags(opts={})
tagspace = opts[:tagspace] || @tagspace
- return [] unless(@ews_item.has_key?(:extended_property) &&
- @ews_item[:extended_property].has_key?(:extended_field_u_r_i) &&
- @ews_item[:extended_property][:extended_field_u_r_i].has_key?(:property_name) &&
- @ews_item[:extended_property][:extended_field_u_r_i][:property_name] == tagspace)
+ # friflaj: sometimes it would hold :extended_field_u_r_i, sometimes :extended_field_uRI, this handles both
+ return [] unless [:extended_property, :extended_field_u_r_i, :extended_field_uRI, :property_name].inject([@ews_item, 0]) {|result, key|
+ result[0][key] ? [result[0][key], result[1]+1] : result
+ } == [tagspace, 3]
tags = []
vals = @ews_item[:extended_property][:values][:value]
--
1.7.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment