teamforge 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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