jiraSOAP 0.6.1 → 0.7.1

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.
Files changed (59) hide show
  1. data/.yardopts +10 -0
  2. data/ChangeLog +18 -0
  3. data/{LICENSE → LICENSE.txt} +0 -0
  4. data/README.markdown +4 -6
  5. data/lib/jiraSOAP.rb +0 -2
  6. data/lib/jiraSOAP/JIRAservice.rb +5 -5
  7. data/lib/jiraSOAP/api.rb +77 -696
  8. data/lib/jiraSOAP/api/additions.rb +22 -0
  9. data/lib/jiraSOAP/api/attachments.rb +33 -0
  10. data/lib/jiraSOAP/api/avatars.rb +64 -0
  11. data/lib/jiraSOAP/api/comments.rb +33 -0
  12. data/lib/jiraSOAP/api/filters.rb +20 -0
  13. data/lib/jiraSOAP/api/issue_data_types.rb +51 -0
  14. data/lib/jiraSOAP/api/issues.rb +102 -0
  15. data/lib/jiraSOAP/api/project_roles.rb +49 -0
  16. data/lib/jiraSOAP/api/projects.rb +67 -0
  17. data/lib/jiraSOAP/api/schemes.rb +17 -0
  18. data/lib/jiraSOAP/api/server_info.rb +18 -0
  19. data/lib/jiraSOAP/api/users.rb +35 -0
  20. data/lib/jiraSOAP/api/versions.rb +50 -0
  21. data/lib/jiraSOAP/entities.rb +5 -1
  22. data/lib/jiraSOAP/entities/attachment_metadata.rb +9 -22
  23. data/lib/jiraSOAP/entities/avatar.rb +10 -23
  24. data/lib/jiraSOAP/entities/comment.rb +12 -31
  25. data/lib/jiraSOAP/entities/component.rb +1 -1
  26. data/lib/jiraSOAP/entities/custom_field_value.rb +5 -11
  27. data/lib/jiraSOAP/entities/described_entity.rb +4 -4
  28. data/lib/jiraSOAP/entities/dynamic_entity.rb +5 -5
  29. data/lib/jiraSOAP/entities/entity.rb +28 -13
  30. data/lib/jiraSOAP/entities/field.rb +1 -1
  31. data/lib/jiraSOAP/entities/filter.rb +5 -14
  32. data/lib/jiraSOAP/entities/issue.rb +29 -88
  33. data/lib/jiraSOAP/entities/issue_property.rb +4 -4
  34. data/lib/jiraSOAP/entities/issue_security_scheme.rb +1 -1
  35. data/lib/jiraSOAP/entities/issue_type.rb +4 -5
  36. data/lib/jiraSOAP/entities/named_entity.rb +4 -4
  37. data/lib/jiraSOAP/entities/notification_scheme.rb +1 -1
  38. data/lib/jiraSOAP/entities/permission.rb +7 -10
  39. data/lib/jiraSOAP/entities/permission_mapping.rb +5 -10
  40. data/lib/jiraSOAP/entities/permission_scheme.rb +3 -4
  41. data/lib/jiraSOAP/entities/priority.rb +4 -3
  42. data/lib/jiraSOAP/entities/project.rb +9 -30
  43. data/lib/jiraSOAP/entities/project_role.rb +1 -1
  44. data/lib/jiraSOAP/entities/resolution.rb +1 -1
  45. data/lib/jiraSOAP/entities/scheme.rb +1 -1
  46. data/lib/jiraSOAP/entities/server_configuration.rb +14 -53
  47. data/lib/jiraSOAP/entities/server_info.rb +8 -26
  48. data/lib/jiraSOAP/entities/status.rb +1 -1
  49. data/lib/jiraSOAP/entities/time_info.rb +5 -10
  50. data/lib/jiraSOAP/entities/user.rb +5 -15
  51. data/lib/jiraSOAP/entities/username.rb +4 -0
  52. data/lib/jiraSOAP/entities/version.rb +6 -20
  53. data/lib/jiraSOAP/handsoap_extensions.rb +4 -2
  54. data/lib/jiraSOAP/macruby_bonuses.rb +12 -5
  55. data/lib/jiraSOAP/url.rb +13 -24
  56. data/yard-jiraSOAP.rb +65 -0
  57. metadata +52 -92
  58. data/lib/jiraSOAP/api/convenience.rb +0 -12
  59. data/lib/jiraSOAP/entities/remote_entity.rb +0 -7
@@ -1,30 +1,19 @@
1
- # A bit of a hack to support using an NSURL in MacRuby while still supporting
2
- # MRI by using the URI module.
3
- #
4
- # For any JIRA entity that has a URL object as an instance variable, you can
5
- # stick whatever type of object you want in the instance varible, as long as
6
- # the object has a #to_s method that returns a properly formatted URI.
7
- class URL
1
+ module JIRA
8
2
 
9
- # @return [NSURL, URI::HTTP] the type depends on your RUBY_ENGINE
10
- attr_accessor :url
3
+ class << self
11
4
 
12
- # Initializes @url with the correct object type.
13
- # @param [String] url string to turn into some kind of URL object
14
- # @return [URI::HTTP,NSURL] URI::HTTP on CRuby, NSURL on MacRuby
15
- def initialize(url)
16
- @url = URI.parse url
17
- end
5
+ # Normally this variable is set to URI, but with MacRuby it is
6
+ # set to NSURL
7
+ # @return [Class,Module]
8
+ attr_accessor :url_class
18
9
 
19
- # The #to_s method technically exists and so method_missing would not
20
- # work its magic to redirect it to @url so we manually override.
21
- # @return [String]
22
- def to_s
23
- @url.to_s
24
- end
10
+ # We also need a variable for the init method for a URL object
11
+ # @return [Symbol]
12
+ attr_accessor :url_init_method
25
13
 
26
- # The magic of the hack, passing everything to the level beneath.
27
- def method_missing(method, *args)
28
- @url.send method, *args
29
14
  end
15
+
16
+ @url_class = URI
17
+ @url_init_method = :parse
18
+
30
19
  end
@@ -0,0 +1,65 @@
1
+ class MyAttributeHandler < YARD::Handlers::Ruby::AttributeHandler
2
+ handles method_call(:add_attributes)
3
+ namespace_only # just to be safe
4
+
5
+ # @return [Hash{Symbol=>String}] convert a parse method to an object type
6
+ CONVERT_TABLE = {
7
+ to_s:'String',
8
+ to_i:'Fixnum',
9
+ to_date:'Time',
10
+ to_boolean:'Boolean',
11
+ to_ss:'Array<String>',
12
+ to_object:'PROBLEM?', #' emacs ruby-mode fail
13
+ to_objects:'Array<PROBLEM?>',
14
+ to_url:'URI::HTTP,NSURL',
15
+ to_date_string:'String',
16
+ to_hex_string:'String'
17
+ }
18
+
19
+ process do
20
+ return if statement.class == YARD::Parser::Ruby::ReferenceNode # no args
21
+
22
+ statement.parameters.each { |array|
23
+ next if array == false
24
+ entry = array.first
25
+ jira_name = entry[0].jump(:tstring_content).source
26
+ name = entry[1].jump(:ident).source
27
+ # @todo fix the back-pedaling (Symbol->String->Symbol)
28
+ type = CONVERT_TABLE[entry[2].jump(:ident).source.to_sym]
29
+ if type.match /PROBLEM\?/
30
+ type_ext = []
31
+ entry[-1].traverse { |node|
32
+ type_ext << node.source if node.type == :const
33
+ }
34
+ type.sub! /PROBLEM\?/, type_ext.join('::')
35
+ end
36
+
37
+ read_object = make_method name, type, jira_name, array.docstring
38
+ write_object = make_method "#{name}=", type, jira_name, array.docstring
39
+ if type == 'Boolean'
40
+ truth_object = make_method "#{name}?", type, jira_name, array.docstring
41
+ end
42
+
43
+ namespace.attributes[:instance][name] = { read:read_object, write:write_object }
44
+ }
45
+ end
46
+
47
+ # @param [String] name
48
+ # @param [String] type
49
+ # @param [String] jira_name
50
+ # @param [String] docstring
51
+ # @return [YARD::CodeObjects::MethodObject]
52
+ def make_method name, type, jira_name, docstring
53
+ object = YARD::CodeObjects::MethodObject.new(namespace, name, :instance)
54
+ object.dynamic = true
55
+ object.explicit = false
56
+ object['generator'] = 'Generated by #add_attributes'
57
+
58
+ object.docstring = "Corresponds to `#{jira_name}` in the javadoc."
59
+ object.docstring += "\n\n#{docstring}" if docstring
60
+ object.docstring += '.' unless object.docstring[-1] == '.'
61
+ object.docstring.add_tag(YARD::Tags::Tag.new(:return, "", type))
62
+ object
63
+ end
64
+
65
+ end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jiraSOAP
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 6
8
- - 1
9
- version: 0.6.1
4
+ prerelease:
5
+ version: 0.7.1
10
6
  platform: ruby
11
7
  authors:
12
8
  - Mark Rada
@@ -14,159 +10,124 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2010-12-31 00:00:00 -05:00
13
+ date: 2011-02-13 00:00:00 -05:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
21
17
  name: nokogiri
18
+ prerelease: false
22
19
  requirement: &id001 !ruby/object:Gem::Requirement
23
20
  none: false
24
21
  requirements:
25
22
  - - ~>
26
23
  - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 4
30
- - 4
31
24
  version: 1.4.4
32
25
  type: :runtime
33
- prerelease: false
34
26
  version_requirements: *id001
35
27
  - !ruby/object:Gem::Dependency
36
28
  name: handsoap
29
+ prerelease: false
37
30
  requirement: &id002 !ruby/object:Gem::Requirement
38
31
  none: false
39
32
  requirements:
40
33
  - - ~>
41
34
  - !ruby/object:Gem::Version
42
- segments:
43
- - 1
44
- - 0
45
- version: "1.0"
35
+ version: 1.1.8
46
36
  type: :runtime
47
- prerelease: false
48
37
  version_requirements: *id002
49
38
  - !ruby/object:Gem::Dependency
50
- name: minitest
39
+ name: rake
40
+ prerelease: false
51
41
  requirement: &id003 !ruby/object:Gem::Requirement
52
42
  none: false
53
43
  requirements:
54
44
  - - ~>
55
45
  - !ruby/object:Gem::Version
56
- segments:
57
- - 2
58
- - 0
59
- - 0
60
- version: 2.0.0
46
+ version: 0.8.7
61
47
  type: :development
62
- prerelease: false
63
48
  version_requirements: *id003
64
49
  - !ruby/object:Gem::Dependency
65
- name: yard
50
+ name: bundler
51
+ prerelease: false
66
52
  requirement: &id004 !ruby/object:Gem::Requirement
67
53
  none: false
68
54
  requirements:
69
55
  - - ~>
70
56
  - !ruby/object:Gem::Version
71
- segments:
72
- - 0
73
- - 6
74
- - 0
75
- version: 0.6.0
57
+ version: 1.0.10
76
58
  type: :development
77
- prerelease: false
78
59
  version_requirements: *id004
79
60
  - !ruby/object:Gem::Dependency
80
- name: bluecloth
61
+ name: minitest
62
+ prerelease: false
81
63
  requirement: &id005 !ruby/object:Gem::Requirement
82
64
  none: false
83
65
  requirements:
84
66
  - - ~>
85
67
  - !ruby/object:Gem::Version
86
- segments:
87
- - 2
88
- - 0
89
- - 0
90
- version: 2.0.0
68
+ version: 2.0.2
91
69
  type: :development
92
- prerelease: false
93
70
  version_requirements: *id005
94
71
  - !ruby/object:Gem::Dependency
95
- name: yardstick
72
+ name: reek
73
+ prerelease: false
96
74
  requirement: &id006 !ruby/object:Gem::Requirement
97
75
  none: false
98
76
  requirements:
99
77
  - - ~>
100
78
  - !ruby/object:Gem::Version
101
- segments:
102
- - 0
103
- - 2
104
- - 0
105
- version: 0.2.0
79
+ version: 1.2.8
106
80
  type: :development
107
- prerelease: false
108
81
  version_requirements: *id006
109
82
  - !ruby/object:Gem::Dependency
110
- name: bundler
83
+ name: yard
84
+ prerelease: false
111
85
  requirement: &id007 !ruby/object:Gem::Requirement
112
86
  none: false
113
87
  requirements:
114
88
  - - ~>
115
89
  - !ruby/object:Gem::Version
116
- segments:
117
- - 1
118
- - 0
119
- - 0
120
- version: 1.0.0
90
+ version: 0.6.4
121
91
  type: :development
122
- prerelease: false
123
92
  version_requirements: *id007
124
93
  - !ruby/object:Gem::Dependency
125
- name: jeweler
94
+ name: bluecloth
95
+ prerelease: false
126
96
  requirement: &id008 !ruby/object:Gem::Requirement
127
97
  none: false
128
98
  requirements:
129
99
  - - ~>
130
100
  - !ruby/object:Gem::Version
131
- segments:
132
- - 1
133
- - 5
134
- - 1
135
- version: 1.5.1
101
+ version: 2.0.10
136
102
  type: :development
137
- prerelease: false
138
103
  version_requirements: *id008
139
- - !ruby/object:Gem::Dependency
140
- name: reek
141
- requirement: &id009 !ruby/object:Gem::Requirement
142
- none: false
143
- requirements:
144
- - - ~>
145
- - !ruby/object:Gem::Version
146
- segments:
147
- - 1
148
- - 2
149
- - 0
150
- version: 1.2.0
151
- type: :development
152
- prerelease: false
153
- version_requirements: *id009
154
104
  description: Written to run fast and work on Ruby 1.9 as well as MacRuby
155
- email: mrada@marketcircle.com
105
+ email:
106
+ - mrada@marketcircle.com
156
107
  executables: []
157
108
 
158
109
  extensions: []
159
110
 
160
111
  extra_rdoc_files:
161
112
  - ChangeLog
162
- - LICENSE
113
+ - LICENSE.txt
163
114
  - README.markdown
115
+ - .yardopts
164
116
  files:
165
- - lib/jiraSOAP.rb
166
- - lib/jiraSOAP/JIRAservice.rb
117
+ - lib/jiraSOAP/api/additions.rb
118
+ - lib/jiraSOAP/api/attachments.rb
119
+ - lib/jiraSOAP/api/avatars.rb
120
+ - lib/jiraSOAP/api/comments.rb
121
+ - lib/jiraSOAP/api/filters.rb
122
+ - lib/jiraSOAP/api/issue_data_types.rb
123
+ - lib/jiraSOAP/api/issues.rb
124
+ - lib/jiraSOAP/api/project_roles.rb
125
+ - lib/jiraSOAP/api/projects.rb
126
+ - lib/jiraSOAP/api/schemes.rb
127
+ - lib/jiraSOAP/api/server_info.rb
128
+ - lib/jiraSOAP/api/users.rb
129
+ - lib/jiraSOAP/api/versions.rb
167
130
  - lib/jiraSOAP/api.rb
168
- - lib/jiraSOAP/api/convenience.rb
169
- - lib/jiraSOAP/entities.rb
170
131
  - lib/jiraSOAP/entities/attachment_metadata.rb
171
132
  - lib/jiraSOAP/entities/avatar.rb
172
133
  - lib/jiraSOAP/entities/comment.rb
@@ -190,7 +151,6 @@ files:
190
151
  - lib/jiraSOAP/entities/priority.rb
191
152
  - lib/jiraSOAP/entities/project.rb
192
153
  - lib/jiraSOAP/entities/project_role.rb
193
- - lib/jiraSOAP/entities/remote_entity.rb
194
154
  - lib/jiraSOAP/entities/resolution.rb
195
155
  - lib/jiraSOAP/entities/scheme.rb
196
156
  - lib/jiraSOAP/entities/server_configuration.rb
@@ -198,19 +158,25 @@ files:
198
158
  - lib/jiraSOAP/entities/status.rb
199
159
  - lib/jiraSOAP/entities/time_info.rb
200
160
  - lib/jiraSOAP/entities/user.rb
161
+ - lib/jiraSOAP/entities/username.rb
201
162
  - lib/jiraSOAP/entities/version.rb
163
+ - lib/jiraSOAP/entities.rb
202
164
  - lib/jiraSOAP/handsoap_extensions.rb
165
+ - lib/jiraSOAP/JIRAservice.rb
203
166
  - lib/jiraSOAP/macruby_bonuses.rb
204
167
  - lib/jiraSOAP/url.rb
168
+ - lib/jiraSOAP.rb
169
+ - yard-jiraSOAP.rb
205
170
  - ChangeLog
206
- - LICENSE
171
+ - LICENSE.txt
207
172
  - README.markdown
173
+ - .yardopts
208
174
  - test/jiraSOAP_test.rb
209
175
  - test/test_helper.rb
210
176
  has_rdoc: true
211
177
  homepage: http://github.com/Marketcircle/jiraSOAP
212
- licenses: []
213
-
178
+ licenses:
179
+ - - MIT
214
180
  post_install_message:
215
181
  rdoc_options: []
216
182
 
@@ -221,23 +187,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
187
  requirements:
222
188
  - - ~>
223
189
  - !ruby/object:Gem::Version
224
- segments:
225
- - 1
226
- - 9
227
- - 2
228
190
  version: 1.9.2
229
191
  required_rubygems_version: !ruby/object:Gem::Requirement
230
192
  none: false
231
193
  requirements:
232
194
  - - ">="
233
195
  - !ruby/object:Gem::Version
234
- segments:
235
- - 0
236
- version: "0"
196
+ version: 1.3.6
237
197
  requirements: []
238
198
 
239
199
  rubyforge_project:
240
- rubygems_version: 1.3.7
200
+ rubygems_version: 1.5.2
241
201
  signing_key:
242
202
  specification_version: 3
243
203
  summary: A Ruby client for the JIRA SOAP API
@@ -1,12 +0,0 @@
1
- module RemoteAPIAdditions
2
-
3
- # Returns nil if the field is not found.
4
- # @param [String] name
5
- # @return [JIRA::Field,nil]
6
- def get_custom_field_with_name name
7
- get_custom_fields.each { |cf|
8
- return cf if cf.name == name
9
- }
10
- nil
11
- end
12
- end
@@ -1,7 +0,0 @@
1
- # This is just a @name, JIRA::User should inherit from this class
2
- class JIRA::RemoteEntity < JIRA::Entity
3
- add_attributes({ 'name' => [:name=, :to_s] })
4
-
5
- # @return [String]
6
- attr_accessor :name
7
- end