teamforge 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f591eb3baa9a5d32ab95eee1addfada5e9d469ee
4
- data.tar.gz: f16bfbca149984caf749a6aec511154da1e04cae
3
+ metadata.gz: 189d11fdb14b2709d9115b363738ca7a3222258c
4
+ data.tar.gz: 85f0e3a5085c5c37c88f2f831a7c17e937769088
5
5
  SHA512:
6
- metadata.gz: 06f4f69c6c6f1ffb6343f2d0293a4095f7de6859a8baeb61a445210fdb67b60bc50a49cec5910613b24249bc0c5c6d7fff58c8fb338c87defd5def3cce6bb3fc
7
- data.tar.gz: edcc5c355893e25ba1c55e3fd2560e9ef8de8683aaf99cd107e7785163cab69d3441c9f209ad276bfce1ac22475598b6ee128d5168a1565406db22c1f80bb2da
6
+ metadata.gz: c860d51e30bdb6f93fd4090b9b72a977a00315aef20bfb0fe5260b738d9113bb58e40a87482608c006ba3aaa2ddfecd2c1862b7b8dd039fd7c8454f32149da68
7
+ data.tar.gz: 2b2b18b7e13bae0e59c3463412e6e1603dc937bec51f11578fea22db4a8b2267d2fd9739ddf4987bea10f3672a5c564f8c005ac54c85b9ee6476707e8ae83e04
@@ -32,15 +32,14 @@ module TeamForge
32
32
  @endpoint, method = req_msg.class.to_s.split("::").pop(2)
33
33
  @endpoint == "TeamForge" ? @endpoint = "CollabNet" : @endpoint
34
34
 
35
- method = "#{method.slice!(0).downcase}#{method}".to_sym
35
+ method = "#{method.slice!(0).downcase}#{method}".to_sym
36
36
 
37
37
  response_msg = "#{method}Response".to_sym
38
38
  return_msg = "#{method}Return".to_sym
39
39
 
40
40
  soap_service_path = (@endpoint == 'ScmListener') ? '/ce-soap/services/' : SERVICE_PATH
41
41
  fq_path = @server + soap_service_path + @endpoint
42
-
43
-
42
+
44
43
  @verbose ||= false
45
44
 
46
45
  Savon.configure do |config|
@@ -49,7 +48,6 @@ module TeamForge
49
48
  end
50
49
  HTTPI.log = verbose? # disable HTTPI logging
51
50
 
52
-
53
51
  # The client from Savon is instantiated with the proper namespace, the endpoint for the request, and SSL verification (from HTTPI) turned off
54
52
  client = Savon::Client.new {wsdl.namespace = SERVICE_NAMESPACE; wsdl.endpoint = fq_path; http.auth.ssl.verify_mode= :none }
55
53
 
@@ -58,13 +56,9 @@ module TeamForge
58
56
  client.http.proxy = @proxy
59
57
  end
60
58
 
61
-
62
59
  unless req_msg.respond_to? :empty
63
60
  message = Hash[req_msg.each_pair.to_a]
64
-
65
- message.each do |key, value|
66
- message[key] = hash_recursive(value)
67
- end
61
+ message.each {|key, value| message[key]=hash_recursive(value)}
68
62
  end
69
63
 
70
64
  message[:order!] = req_msg.members
@@ -109,10 +103,8 @@ module TeamForge
109
103
  @response_doc.xpath("//#{doc_node.to_s}").children.each do |child|
110
104
 
111
105
  href = child.attribute("href").to_s.gsub("#","")
112
-
113
106
  unless href.empty?
114
107
  multiref = @response_doc.xpath("//multiRef[@id='#{href}']")
115
-
116
108
  if multiref.children.first.name == "dataRows"
117
109
  datarows = []
118
110
  multiref.children.children.each do |datarow|
@@ -127,10 +119,20 @@ module TeamForge
127
119
  else
128
120
  return_msg[child.name.to_sym] = create_struct(multiref)
129
121
  end
130
- else
131
- return_msg[child.name.to_sym] = rep_blank_with_nil(child.text)
122
+ else
123
+ if child.attribute("type").to_s == "soapenc:Array"
124
+ child_array = []
125
+ child.children.each do |child_node|
126
+ href = child_node.attribute("href").to_s.gsub("#","")
127
+ child_array.push(create_struct(@response_doc.xpath("//multiRef[@id='#{href}']")))
128
+ end
129
+ return_msg[child.name.to_sym] = child_array
130
+ else
131
+ return_msg[child.name.to_sym] = rep_blank_with_nil(child.text)
132
+ end
132
133
  end
133
134
  end
135
+
134
136
  return return_msg
135
137
  end
136
138
 
@@ -148,8 +150,7 @@ module TeamForge
148
150
  node.children.each do |element|
149
151
 
150
152
  el_type = element.attribute("type").to_s.split(":")[1].to_s.downcase.to_sym
151
- node_href = element.attribute("href").to_s.gsub("#","")
152
-
153
+ node_href = element.attribute("href").to_s.gsub("#","")
153
154
  element.name = element.name.snakecase
154
155
 
155
156
  unless node_href.empty?
@@ -157,55 +158,54 @@ module TeamForge
157
158
  else
158
159
  if el_type == :array
159
160
  unless element.child.nil?
160
- new_struct[element.name.to_sym] = {element.name.to_sym => element.element_children.map {|chld| rep_blank_with_nil(chld.text.to_s) }, :attributes! => { element.child.name.to_sym => {'xsi:type' => element.child.attribute("type").to_s}}}
161
+ el_array = []
162
+ element.element_children.each do |chld|
163
+ el_href = chld.attribute("href").to_s.gsub("#","")
164
+ unless el_href.empty?
165
+ el_array.push(create_struct(@response_doc.xpath("//multiRef[@id='#{el_href}']")))
166
+ else
167
+ el_array.push(rep_blank_with_nil(chld.text.to_s))
168
+ end
169
+ end
170
+ new_struct[element.name.to_sym] = {element.name.to_sym => el_array}
171
+
172
+ #new_struct[element.name.to_sym] = {element.name.to_sym => element.element_children.map {|chld| rep_blank_with_nil(chld.text.to_s) }, :attributes! => { element.child.name.to_sym => {'xsi:type' => element.child.attribute("type").to_s}}}
161
173
  end
162
174
  attributes[element.name.to_sym] = {'soapenc:arrayType'=> element.attribute("arrayType").to_s, 'xsi:type' => element.attribute("type").to_s}
163
175
  else
164
176
  new_struct[element.name] = rep_blank_with_nil(element.text.to_s)
165
177
  attributes[element.name.to_sym] = {'xsi:type' => element.attribute("type").to_s}
166
178
  end
167
- end
168
-
179
+ end
169
180
  end
170
-
171
181
  new_struct[:attributes!] = attributes
172
-
173
182
  return new_struct
174
183
  end
175
184
 
176
185
  def self.rep_blank_with_nil(value)
177
-
178
- # if value.kind_of? Struct
179
- # struct_param = Hash[value.each_pair.to_a]
180
- #
181
- # struct_param.each do |k, v|
182
- # struct_param[k] = rep_blank_with_nil(v)
183
- # end
184
- #
185
- # value = struct_param
186
- #
187
- # else
188
- unless value.nil?
189
- if value.blank?
190
- value = nil
191
- end #if
192
-
193
- end #unless
194
- # end #if
186
+ unless value.nil?
187
+ if value.blank?
188
+ value = nil
189
+ end #if
190
+ end #unless
195
191
  return value
196
192
  end #def
197
193
 
198
194
  def self.hash_recursive(msg)
199
- return msg unless msg.kind_of? Struct
200
-
201
- struct_param = Hash[msg.each_pair.to_a]
202
- struct_param.each do |k, v|
203
- struct_param[k] = hash_recursive(v)
204
- end
195
+ if msg.kind_of? Struct
196
+ struct_param = Hash[msg.each_pair.to_a]
197
+ struct_param.each {|k, v| struct_param[k] = hash_recursive(v)}
198
+ elsif msg.kind_of? Array
199
+ new_array = []
200
+ msg.each {|msg_array| new_array.push(hash_recursive(msg_array))}
201
+ return new_array
202
+ elsif msg.kind_of? Hash
203
+ msg.each {|x,y| msg[x] = hash_recursive(y)}
204
+ else
205
+ return msg
206
+ end
205
207
  end
206
208
 
207
209
 
208
- #end
209
-
210
210
  end
211
211
 
@@ -73,6 +73,7 @@ module TeamForge
73
73
  HasPermission = TFSoapRequest.new(:session_id, :username, :project_id, :operation_string, :object_id)
74
74
  HasSitewideRolePermission = TFSoapRequest.new(:session_id, :operation_string)
75
75
  IsHostedMode = TFSoapRequest.new(:session_id)
76
+ IsSoapRedirectPostOnlyMode = TFSoapRequest.new(:session_id)
76
77
  KeepAlive = TFSoapRequest.new(:session_id)
77
78
  ListAttachments = TFSoapRequest.new(:session_id, :object_id)
78
79
  ListGroupsWithGeneralPermission = TFSoapRequest.new(:session_id, :project_id, :operation_string, :folder_id, :include_inherited)
@@ -6,23 +6,30 @@ module TeamForge
6
6
  # PlanningApp Messages
7
7
  ######################
8
8
  CreatePlanningFolder2 = TFSoapRequest.new(:session_id, :parent_id, :title, :description, :start_date, :end_date, :status, :capacity, :release_id, :tracker_unit_id)
9
+ CreatePlanningFolder3 = TFSoapRequest.new(:session_id, :parent_id, :title, :description, :start_date, :end_date, :status, :capacity, :points_capacity, :release_id, :tracker_unit_id)
9
10
  CreatePlanningFolder = TFSoapRequest.new(:session_id, :parent_id, :title, :description, :start_date, :end_date, :status, :capacity, :release_id)
10
11
  DeletePlanningFolder = TFSoapRequest.new(:session_id, :planning_folder_id)
11
12
  GetArtifactListInPlanningFolder = TFSoapRequest.new(:session_id, :parent_id, :filters, :recursive)
12
13
  GetPlanningFolder2Data = TFSoapRequest.new(:session_id, :planning_folder_id)
13
14
  GetPlanningFolder2List = TFSoapRequest.new(:session_id, :parent_id, :recursive)
15
+ GetPlanningFolder3Data = TFSoapRequest.new(:session_id, :planning_folder_id)
16
+ GetPlanningFolder3List = TFSoapRequest.new(:session_id, :parent_id, :recursive)
14
17
  GetPlanningFolderData = TFSoapRequest.new(:session_id, :planning_folder_id)
15
18
  GetPlanningFolderList = TFSoapRequest.new(:session_id, :parent_id, :recursive)
16
19
  GetPlanningFolderSummary2List = TFSoapRequest.new(:session_id, :parent_id, :recursive)
17
20
  GetPlanningFolderSummary2 = TFSoapRequest.new(:session_id, :planning_folder_id)
21
+ GetPlanningFolderSummary3List = TFSoapRequest.new(:session_id, :parent_id, :recursive)
22
+ GetPlanningFolderSummary3 = TFSoapRequest.new(:session_id, :planning_folder_id)
18
23
  GetPlanningFolderSummaryList = TFSoapRequest.new(:session_id, :parent_id, :recursive)
19
24
  GetPlanningFolderSummary = TFSoapRequest.new(:session_id, :planning_folder_id)
20
25
  GetPlanningStatusValues = TFSoapRequest.new(:session_id, :project_id)
21
26
  GetRankedArtifactList = TFSoapRequest.new(:session_id, :planning_folder_id)
22
27
  MovePlanningFolder2 = TFSoapRequest.new(:session_id, :planning_folder_id, :dest_parent_id)
28
+ MovePlanningFolder3 = TFSoapRequest.new(:session_id, :planning_folder_id, :dest_parent_id)
23
29
  MovePlanningFolder = TFSoapRequest.new(:session_id, :planning_folder_id, :dest_parent_id)
24
30
  ReorderPlanningFolders = TFSoapRequest.new(:session_id, :parent_id, :planning_folder_ids)
25
31
  SetPlanningFolder2Data = TFSoapRequest.new(:session_id, :planning_folder_data)
32
+ SetPlanningFolder3Data = TFSoapRequest.new(:session_id, :planning_folder_data)
26
33
  SetPlanningFolderData = TFSoapRequest.new(:session_id, :planning_folder_data)
27
34
  SetPlanningStatusValues = TFSoapRequest.new(:session_id, :project_id, :status_values)
28
35
 
@@ -34,10 +41,14 @@ module TeamForge
34
41
  ArtifactsInPlanningFolderSoapRow = TFType.new(:actual_effort,:artifact_group,:assigned_to_fullname,:assigned_to_username,:autosumming,:category,:children_ids,:close_date,:customer,:description,:estimated_effort,:folder_id,:folder_path_string,:folder_title,:has_children,:id,:last_modified_date,:parent_id,:planning_folder_id,:planning_folder_title,:points,:priority,:project_id,:project_path_string,:project_title,:remaining_effort,:reported_in_release_id,:reported_in_release_title,:resolved_in_release_id,:resolved_in_release_title,:status,:status_class,:submitted_by_fullname,:submitted_by_username,:submitted_date,:title,:tracker_icon,:version, :attributes!)
35
42
  PlanningFolder2SoapDO = TFType.new(:capacity,:created_by,:created_date,:description,:end_date,:id,:last_modified_by,:last_modified_date,:parent_folder_id,:path,:project_id,:release_id,:start_date,:status,:status_class,:title,:tracker_unit_id,:version, :attributes!)
36
43
  PlanningFolder2SoapRow = TFType.new(:capacity,:created_by,:created_on,:description,:end_date,:id,:last_modified_by,:last_modified_on,:parent_folder_id,:path,:project_id,:release_id,:release_title,:start_date,:status,:status_class,:title,:tracker_unit_id, :attributes!)
44
+ PlanningFolder3SoapDO = TFType.new(:capacity,:created_by,:created_date,:description,:end_date,:id,:last_modified_by,:last_modified_date,:parent_folder_id,:path,:points_capacity,:project_id,:release_id,:start_date,:status,:status_class,:title,:tracker_unit_id,:version, :attributes!)
45
+ PlanningFolder3SoapRow = TFType.new(:capacity,:created_by,:created_on,:description,:end_date,:id,:last_modified_by,:last_modified_on,:parent_folder_id,:path,:points_capacity,:project_id,:release_id,:release_title,:start_date,:status,:status_class,:title,:tracker_unit_id, :attributes!)
37
46
  PlanningFolderSoapDO = TFType.new(:capacity,:created_by,:created_date,:description,:end_date,:id,:last_modified_by,:last_modified_date,:parent_folder_id,:path,:project_id,:release_id,:start_date,:status,:status_class,:title,:version, :attributes!)
38
47
  PlanningFolderSoapRow = TFType.new(:capacity,:created_by,:created_on,:description,:end_date,:id,:last_modified_by,:last_modified_on,:parent_folder_id,:path,:project_id,:release_id,:release_title,:start_date,:status,:status_class,:title, :attributes!)
39
48
  PlanningFolderSummary2SoapDO = TFType.new(:actual_effort_summary,:actual_priority0,:actual_priority1,:actual_priority2,:actual_priority3,:actual_priority4,:actual_priority5,:capacity,:closed_points,:created_by,:created_date,:description,:end_date,:estimated_effort_summary,:estimated_priority0,:estimated_priority1,:estimated_priority2,:estimated_priority3,:estimated_priority4,:estimated_priority5,:id,:last_modified_by,:last_modified_date,:open_points,:open_priority0,:open_priority1,:open_priority2,:open_priority3,:open_priority4,:open_priority5,:parent_folder_id,:path,:project_id,:release_id,:release_path,:remaining_effort_summary,:remaining_priority0,:remaining_priority1,:remaining_priority2,:remaining_priority3,:remaining_priority4,:remaining_priority5,:start_date,:status,:status_class,:story_points_priority0,:story_points_priority1,:story_points_priority2,:story_points_priority3,:story_points_priority4,:story_points_priority5,:title,:total_closed,:total_open,:tracker_unit_id,:version, :attributes!)
40
49
  PlanningFolderSummary2SoapRow = TFType.new(:actual_effort_summary,:actual_priority0,:actual_priority1,:actual_priority2,:actual_priority3,:actual_priority4,:actual_priority5,:capacity,:closed_points,:created_by,:created_on,:description,:end_date,:estimated_effort_summary,:estimated_priority0,:estimated_priority1,:estimated_priority2,:estimated_priority3,:estimated_priority4,:estimated_priority5,:id,:last_modified_by,:last_modified_on,:open_points,:open_priority0,:open_priority1,:open_priority2,:open_priority3,:open_priority4,:open_priority5,:parent_folder_id,:path,:project_id,:release_id,:release_path,:remaining_effort_summary,:remaining_priority0,:remaining_priority1,:remaining_priority2,:remaining_priority3,:remaining_priority4,:remaining_priority5,:start_date,:status,:status_class,:story_points_priority0,:story_points_priority1,:story_points_priority2,:story_points_priority3,:story_points_priority4,:story_points_priority5,:title,:total_closed,:total_open,:tracker_unit_id, :attributes!)
50
+ PlanningFolderSummary3SoapDO = TFType.new(:actual_effort_summary,:actual_priority0,:actual_priority1,:actual_priority2,:actual_priority3,:actual_priority4,:actual_priority5,:capacity,:closed_points,:created_by,:created_date,:description,:end_date,:estimated_effort_summary,:estimated_priority0,:estimated_priority1,:estimated_priority2,:estimated_priority3,:estimated_priority4,:estimated_priority5,:id,:last_modified_by,:last_modified_date,:open_points,:open_priority0,:open_priority1,:open_priority2,:open_priority3,:open_priority4,:open_priority5,:parent_folder_id,:path,:points_capacity,:project_id,:release_id,:release_path,:remaining_effort_summary,:remaining_priority0,:remaining_priority1,:remaining_priority2,:remaining_priority3,:remaining_priority4,:remaining_priority5,:start_date,:status,:status_class,:story_points_priority0,:story_points_priority1,:story_points_priority2,:story_points_priority3,:story_points_priority4,:story_points_priority5,:title,:total_closed,:total_open,:tracker_unit_id,:version, :attributes!)
51
+ PlanningFolderSummary3SoapRow = TFType.new(:actual_effort_summary,:actual_priority0,:actual_priority1,:actual_priority2,:actual_priority3,:actual_priority4,:actual_priority5,:capacity,:closed_points,:created_by,:created_on,:description,:end_date,:estimated_effort_summary,:estimated_priority0,:estimated_priority1,:estimated_priority2,:estimated_priority3,:estimated_priority4,:estimated_priority5,:id,:last_modified_by,:last_modified_on,:open_points,:open_priority0,:open_priority1,:open_priority2,:open_priority3,:open_priority4,:open_priority5,:parent_folder_id,:path,:points_capacity,:project_id,:release_id,:release_path,:remaining_effort_summary,:remaining_priority0,:remaining_priority1,:remaining_priority2,:remaining_priority3,:remaining_priority4,:remaining_priority5,:start_date,:status,:status_class,:story_points_priority0,:story_points_priority1,:story_points_priority2,:story_points_priority3,:story_points_priority4,:story_points_priority5,:title,:total_closed,:total_open,:tracker_unit_id, :attributes!)
41
52
  PlanningFolderSummarySoapDO = TFType.new(:actual_effort_summary,:actual_priority0,:actual_priority1,:actual_priority2,:actual_priority3,:actual_priority4,:actual_priority5,:capacity,:closed_points,:created_by,:created_date,:description,:end_date,:estimated_effort_summary,:estimated_priority0,:estimated_priority1,:estimated_priority2,:estimated_priority3,:estimated_priority4,:estimated_priority5,:id,:last_modified_by,:last_modified_date,:open_points,:open_priority0,:open_priority1,:open_priority2,:open_priority3,:open_priority4,:open_priority5,:parent_folder_id,:path,:project_id,:release_id,:release_path,:remaining_effort_summary,:remaining_priority0,:remaining_priority1,:remaining_priority2,:remaining_priority3,:remaining_priority4,:remaining_priority5,:start_date,:status,:status_class,:title,:total_closed,:total_open,:version, :attributes!)
42
53
  PlanningFolderSummarySoapRow = TFType.new(:actual_effort_summary,:actual_priority0,:actual_priority1,:actual_priority2,:actual_priority3,:actual_priority4,:actual_priority5,:capacity,:closed_points,:created_by,:created_on,:description,:end_date,:estimated_effort_summary,:estimated_priority0,:estimated_priority1,:estimated_priority2,:estimated_priority3,:estimated_priority4,:estimated_priority5,:id,:last_modified_by,:last_modified_on,:open_points,:open_priority0,:open_priority1,:open_priority2,:open_priority3,:open_priority4,:open_priority5,:parent_folder_id,:path,:project_id,:release_id,:release_path,:remaining_effort_summary,:remaining_priority0,:remaining_priority1,:remaining_priority2,:remaining_priority3,:remaining_priority4,:remaining_priority5,:start_date,:status,:status_class,:title,:total_closed,:total_open, :attributes!)
43
54
  PlanningStatusValueSoapDO = TFType.new(:id,:is_default,:value,:value_class, :attributes!)
@@ -14,6 +14,7 @@ module TeamForge
14
14
  GetCommitData = TFSoapRequest.new(:session_id, :commit_id)
15
15
  GetCommitId = TFSoapRequest.new(:session_id, :revision, :external_system_id, :repo_path)
16
16
  GetCommitList = TFSoapRequest.new(:session_id, :repository_id, :filters)
17
+ GetExternalSystem = TFSoapRequest.new(:session_id, :system_id)
17
18
  GetReplicableScmExternalSystemList = TFSoapRequest.new(:session_id)
18
19
  GetReplicatedRepositoryList = TFSoapRequest.new(:session_id, :master_repository_id)
19
20
  GetRepository2DataById = TFSoapRequest.new(:session_id, :repository_id)
@@ -28,6 +29,7 @@ module TeamForge
28
29
  MoveRepository = TFSoapRequest.new(:session_id, :repository_id, :project_id)
29
30
  SetAuthorizedKeys = TFSoapRequest.new(:session_id, :username, :authorized_keys)
30
31
  SetAuthorizedKeys1 = TFSoapRequest.new(:session_id, :authorized_keys)
32
+ SetExternalSystemData = TFSoapRequest.new(:session_id, :system_data)
31
33
  SetRepositoryData = TFSoapRequest.new(:session_id, :repository)
32
34
 
33
35
 
@@ -38,6 +40,7 @@ module TeamForge
38
40
  Commit2SoapDO = TFType.new(:commit_message,:created_by,:created_by_fullname,:created_date,:files,:folder_id,:id,:last_modified_by,:last_modified_date,:path,:title,:version, :attributes!)
39
41
  CommitSoapDO = TFType.new(:commit_message,:created_by,:created_by_fullname,:created_date,:files,:folder_id,:id,:last_modified_by,:last_modified_date,:path,:title,:version, :attributes!)
40
42
  CommitSoapRow = TFType.new(:commit_message,:created_by,:created_by_fullname,:date_created,:folder_path_string,:id,:project_id,:project_path_string,:project_title,:title, :attributes!)
43
+ ExternalSystemSoapDO = TFType.new(:adapter_category,:adapter_name,:adapter_param_types,:adapter_params,:created_by,:created_date,:id,:last_modified_by,:last_modified_date,:system_description,:system_title,:version, :attributes!)
41
44
  ReplicableScmExternalSystemSoapRow = TFType.new(:description,:id,:is_svn_edge,:title, :attributes!)
42
45
  ReplicatedRepositorySoapRow = TFType.new(:checkout_command,:created_by,:created_on,:description,:health,:id,:last_modified_by,:last_modified_on,:managed_by_full_name,:managed_by_username,:parent_folder_id,:path,:project_id,:status,:title,:url, :attributes!)
43
46
  Repository2SoapDO = TFType.new(:created_by,:created_date,:description,:hide_monitoring_details,:id,:id_required_on_commit,:is_on_managed_scm_server,:last_modified_by,:last_modified_date,:parameters,:parent_folder_id,:path,:project_id,:repository_directory,:scm_adapter_name,:scm_viewer_url,:system_id,:system_title,:title,:version, :attributes!)
@@ -1,5 +1,5 @@
1
1
  module TeamForge
2
2
 
3
- VERSION = "0.1.9"
3
+ VERSION = "0.2.0"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamforge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Wolf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-05 00:00:00.000000000 Z
11
+ date: 2013-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: savon
@@ -64,17 +64,17 @@ require_paths:
64
64
  - lib
65
65
  required_ruby_version: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ! '>='
67
+ - - '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  required_rubygems_version: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ! '>='
72
+ - - '>='
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  requirements: []
76
76
  rubyforge_project:
77
- rubygems_version: 2.0.7
77
+ rubygems_version: 2.0.6
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: CollabNet TeamForge