jiraSOAP 0.6.1 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
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