jira-ruby 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +7 -1
  3. data/Guardfile +1 -1
  4. data/Rakefile +4 -5
  5. data/http-basic-example.rb +13 -12
  6. data/jira-ruby.gemspec +9 -10
  7. data/lib/jira-ruby.rb +5 -2
  8. data/lib/jira/base.rb +49 -48
  9. data/lib/jira/base_factory.rb +1 -4
  10. data/lib/jira/client.rb +29 -20
  11. data/lib/jira/has_many_proxy.rb +0 -1
  12. data/lib/jira/http_client.rb +9 -10
  13. data/lib/jira/http_error.rb +3 -5
  14. data/lib/jira/oauth_client.rb +19 -20
  15. data/lib/jira/request_client.rb +3 -4
  16. data/lib/jira/resource/agile.rb +10 -8
  17. data/lib/jira/resource/applinks.rb +5 -8
  18. data/lib/jira/resource/attachment.rb +1 -2
  19. data/lib/jira/resource/board.rb +84 -0
  20. data/lib/jira/resource/comment.rb +0 -2
  21. data/lib/jira/resource/component.rb +1 -3
  22. data/lib/jira/resource/createmeta.rb +12 -14
  23. data/lib/jira/resource/field.rb +22 -22
  24. data/lib/jira/resource/filter.rb +2 -2
  25. data/lib/jira/resource/issue.rb +41 -39
  26. data/lib/jira/resource/issuelink.rb +3 -5
  27. data/lib/jira/resource/issuelinktype.rb +0 -1
  28. data/lib/jira/resource/issuetype.rb +1 -3
  29. data/lib/jira/resource/priority.rb +1 -3
  30. data/lib/jira/resource/project.rb +5 -7
  31. data/lib/jira/resource/rapidview.rb +28 -7
  32. data/lib/jira/resource/remotelink.rb +1 -4
  33. data/lib/jira/resource/resolution.rb +2 -4
  34. data/lib/jira/resource/serverinfo.rb +1 -2
  35. data/lib/jira/resource/sprint.rb +82 -18
  36. data/lib/jira/resource/sprint_report.rb +8 -0
  37. data/lib/jira/resource/status.rb +1 -3
  38. data/lib/jira/resource/transition.rb +2 -6
  39. data/lib/jira/resource/user.rb +12 -2
  40. data/lib/jira/resource/version.rb +1 -3
  41. data/lib/jira/resource/watcher.rb +1 -5
  42. data/lib/jira/resource/webhook.rb +3 -6
  43. data/lib/jira/resource/worklog.rb +3 -5
  44. data/lib/jira/version.rb +1 -1
  45. data/lib/tasks/generate.rake +4 -4
  46. data/spec/integration/attachment_spec.rb +15 -16
  47. data/spec/integration/comment_spec.rb +31 -34
  48. data/spec/integration/component_spec.rb +21 -24
  49. data/spec/integration/field_spec.rb +15 -18
  50. data/spec/integration/issue_spec.rb +44 -48
  51. data/spec/integration/issuelinktype_spec.rb +8 -11
  52. data/spec/integration/issuetype_spec.rb +5 -7
  53. data/spec/integration/priority_spec.rb +5 -8
  54. data/spec/integration/project_spec.rb +13 -20
  55. data/spec/integration/rapidview_spec.rb +17 -10
  56. data/spec/integration/resolution_spec.rb +7 -10
  57. data/spec/integration/status_spec.rb +5 -8
  58. data/spec/integration/transition_spec.rb +17 -20
  59. data/spec/integration/user_spec.rb +24 -8
  60. data/spec/integration/version_spec.rb +21 -25
  61. data/spec/integration/watcher_spec.rb +28 -34
  62. data/spec/integration/webhook.rb +8 -17
  63. data/spec/integration/worklog_spec.rb +30 -34
  64. data/spec/jira/base_factory_spec.rb +11 -12
  65. data/spec/jira/base_spec.rb +204 -228
  66. data/spec/jira/client_spec.rb +26 -28
  67. data/spec/jira/has_many_proxy_spec.rb +11 -12
  68. data/spec/jira/http_client_spec.rb +51 -52
  69. data/spec/jira/http_error_spec.rb +7 -9
  70. data/spec/jira/oauth_client_spec.rb +44 -46
  71. data/spec/jira/request_client_spec.rb +5 -5
  72. data/spec/jira/resource/agile_spec.rb +5 -7
  73. data/spec/jira/resource/attachment_spec.rb +25 -26
  74. data/spec/jira/resource/board_spec.rb +175 -0
  75. data/spec/jira/resource/createmeta_spec.rb +29 -32
  76. data/spec/jira/resource/field_spec.rb +42 -48
  77. data/spec/jira/resource/filter_spec.rb +40 -40
  78. data/spec/jira/resource/issue_spec.rb +87 -89
  79. data/spec/jira/resource/issuelink_spec.rb +1 -1
  80. data/spec/jira/resource/project_factory_spec.rb +2 -4
  81. data/spec/jira/resource/project_spec.rb +33 -33
  82. data/spec/jira/resource/sprint_spec.rb +78 -0
  83. data/spec/jira/resource/user_factory_spec.rb +6 -8
  84. data/spec/jira/resource/worklog_spec.rb +9 -11
  85. data/spec/spec_helper.rb +8 -9
  86. data/spec/support/clients_helper.rb +4 -4
  87. data/spec/support/shared_examples/integration.rb +60 -77
  88. metadata +59 -53
@@ -1,19 +1,18 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe JIRA::Resource::UserFactory do
4
-
5
- let(:client) {
4
+ let(:client) do
6
5
  instance_double('Client', options: { rest_base_path: '/jira/rest/api/2' })
7
- }
6
+ end
8
7
 
9
8
  subject { JIRA::Resource::UserFactory.new(client) }
10
9
 
11
- describe "#myself" do
12
- let(:response) {
10
+ describe '#myself' do
11
+ let(:response) do
13
12
  instance_double(
14
13
  'Response', body: get_mock_response('user_username=admin.json')
15
14
  )
16
- }
15
+ end
17
16
 
18
17
  let(:user) { subject.myself }
19
18
 
@@ -23,11 +22,10 @@ describe JIRA::Resource::UserFactory do
23
22
  ).and_return(response)
24
23
  end
25
24
 
26
- it "returns a JIRA::Resource::User with correct attrs" do
25
+ it 'returns a JIRA::Resource::User with correct attrs' do
27
26
  expect(user).to be_a(JIRA::Resource::User)
28
27
  expect(user.name).to eq('admin')
29
28
  expect(user.emailAddress).to eq('admin@example.com')
30
29
  end
31
30
  end
32
-
33
31
  end
@@ -1,18 +1,17 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe JIRA::Resource::Worklog do
4
+ let(:client) { double }
4
5
 
5
- let(:client) { double() }
6
-
7
- describe "relationships" do
8
- subject {
9
- JIRA::Resource::Worklog.new(client, :issue_id => '99999', :attrs => {
10
- 'author' => {'foo' => 'bar'},
11
- 'updateAuthor' => {'foo' => 'bar'}
12
- })
13
- }
6
+ describe 'relationships' do
7
+ subject do
8
+ JIRA::Resource::Worklog.new(client, issue_id: '99999', attrs: {
9
+ 'author' => { 'foo' => 'bar' },
10
+ 'updateAuthor' => { 'foo' => 'bar' }
11
+ })
12
+ end
14
13
 
15
- it "has the correct relationships" do
14
+ it 'has the correct relationships' do
16
15
  expect(subject).to have_one(:author, JIRA::Resource::User)
17
16
  expect(subject.author.foo).to eq('bar')
18
17
 
@@ -20,5 +19,4 @@ describe JIRA::Resource::Worklog do
20
19
  expect(subject.update_author.foo).to eq('bar')
21
20
  end
22
21
  end
23
-
24
22
  end
@@ -2,7 +2,9 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  require 'rubygems'
3
3
  require 'bundler/setup'
4
4
  require 'webmock/rspec'
5
- Dir["./spec/support/**/*.rb"].each {|f| require f}
5
+ require 'pry'
6
+
7
+ Dir['./spec/support/**/*.rb'].each { |f| require f }
6
8
 
7
9
  require 'jira-ruby'
8
10
 
@@ -10,13 +12,10 @@ RSpec.configure do |config|
10
12
  config.extend ClientsHelper
11
13
  end
12
14
 
13
-
14
15
  def get_mock_response(file, value_if_file_not_found = false)
15
- begin
16
- file.sub!('?', '_') # we have to replace this character on Windows machine
17
- File.read(File.join(File.dirname(__FILE__), 'mock_responses/', file))
18
- rescue Errno::ENOENT => e
19
- raise e if value_if_file_not_found == false
20
- value_if_file_not_found
21
- end
16
+ file.sub!('?', '_') # we have to replace this character on Windows machine
17
+ File.read(File.join(File.dirname(__FILE__), 'mock_responses/', file))
18
+ rescue Errno::ENOENT => e
19
+ raise e if value_if_file_not_found == false
20
+ value_if_file_not_found
22
21
  end
@@ -2,12 +2,12 @@ module ClientsHelper
2
2
  def with_each_client
3
3
  clients = {}
4
4
 
5
- oauth_client = JIRA::Client.new({ :consumer_key => 'foo', :consumer_secret => 'bar' })
5
+ oauth_client = JIRA::Client.new(consumer_key: 'foo', consumer_secret: 'bar')
6
6
  oauth_client.set_access_token('abc', '123')
7
- clients["http://localhost:2990"] = oauth_client
7
+ clients['http://localhost:2990'] = oauth_client
8
8
 
9
- basic_client = JIRA::Client.new({ :username => 'foo', :password => 'bar', :auth_type => :basic, :use_ssl => false })
10
- clients["http://foo:bar@localhost:2990"] = basic_client
9
+ basic_client = JIRA::Client.new(username: 'foo', password: 'bar', auth_type: :basic, use_ssl: false)
10
+ clients['http://foo:bar@localhost:2990'] = basic_client
11
11
 
12
12
  clients.each do |site_url, client|
13
13
  yield site_url, client
@@ -1,43 +1,39 @@
1
1
  require 'cgi'
2
2
 
3
3
  def get_mock_from_path(method, options = {})
4
- if defined? belongs_to
5
- prefix = belongs_to.path_component + '/'
6
- else
7
- prefix = ''
8
- end
9
-
10
- if options[:url]
11
- url = options[:url]
12
- elsif options[:key]
13
- url = described_class.singular_path(client, options[:key], prefix)
14
- else
15
- url = described_class.collection_path(client, prefix)
16
- end
4
+ prefix = if defined? belongs_to
5
+ belongs_to.path_component + '/'
6
+ else
7
+ ''
8
+ end
9
+
10
+ url = if options[:url]
11
+ options[:url]
12
+ elsif options[:key]
13
+ described_class.singular_path(client, options[:key], prefix)
14
+ else
15
+ described_class.collection_path(client, prefix)
16
+ end
17
17
  file_path = url.sub(client.options[:rest_base_path], '')
18
18
  file_path = file_path + '.' + options[:suffix] if options[:suffix]
19
19
  file_path = file_path + '.' + method.to_s unless method == :get
20
- value_if_not_found = options.keys.include?(:value_if_not_found) ? options[:value_if_not_found] : false
20
+ value_if_not_found = options.key?(:value_if_not_found) ? options[:value_if_not_found] : false
21
21
  get_mock_response("#{file_path}.json", value_if_not_found)
22
22
  end
23
23
 
24
24
  def class_basename
25
- described_class.name.split('::').last
25
+ described_class.name.split('::').last
26
26
  end
27
27
 
28
28
  def options
29
29
  options = {}
30
- if defined? belongs_to
31
- options[belongs_to.to_sym] = belongs_to
32
- end
30
+ options[belongs_to.to_sym] = belongs_to if defined? belongs_to
33
31
  options
34
32
  end
35
33
 
36
34
  def prefix
37
35
  prefix = '/'
38
- if defined? belongs_to
39
- prefix = belongs_to.path_component + '/'
40
- end
36
+ prefix = belongs_to.path_component + '/' if defined? belongs_to
41
37
  prefix
42
38
  end
43
39
 
@@ -49,73 +45,66 @@ def build_receiver
49
45
  end
50
46
  end
51
47
 
52
- shared_examples "a resource" do
53
-
54
- it "gracefully handles non-json responses" do
48
+ shared_examples 'a resource' do
49
+ it 'gracefully handles non-json responses' do
55
50
  if defined? target
56
51
  subject = target
57
52
  else
58
53
  subject = client.send(class_basename).build(described_class.key_attribute.to_s => '99999')
59
54
  end
60
- stub_request(:put, site_url + subject.url).
61
- to_return(:status => 405, :body => "<html><body>Some HTML</body></html>")
55
+ stub_request(:put, site_url + subject.url)
56
+ .to_return(status: 405, body: '<html><body>Some HTML</body></html>')
62
57
  expect(subject.save('foo' => 'bar')).to be_falsey
63
58
  expect(lambda do
64
59
  expect(subject.save!('foo' => 'bar')).to be_falsey
65
60
  end).to raise_error(JIRA::HTTPError)
66
61
  end
67
-
68
62
  end
69
63
 
70
- shared_examples "a resource with a collection GET endpoint" do
71
-
72
- it "should get the collection" do
73
- stub_request(:get, site_url + described_class.collection_path(client)).
74
- to_return(:status => 200, :body => get_mock_from_path(:get))
64
+ shared_examples 'a resource with a collection GET endpoint' do
65
+ it 'should get the collection' do
66
+ stub_request(:get, site_url + described_class.collection_path(client))
67
+ .to_return(status: 200, body: get_mock_from_path(:get))
75
68
  collection = build_receiver.all
76
69
 
77
70
  expect(collection.length).to eq(expected_collection_length)
78
71
  expect(collection.first).to have_attributes(expected_attributes)
79
72
  end
80
-
81
73
  end
82
74
 
83
- shared_examples "a resource with JQL inputs and a collection GET endpoint" do
84
-
85
- it "should get the collection" do
75
+ shared_examples 'a resource with JQL inputs and a collection GET endpoint' do
76
+ it 'should get the collection' do
86
77
  stub_request(
87
78
  :get,
88
79
  site_url +
89
80
  client.options[:rest_base_path] +
90
81
  '/search?jql=' +
91
82
  CGI.escape(jql_query_string)
92
- ).to_return(:status => 200, :body => get_mock_response('issue.json'))
83
+ ).to_return(status: 200, body: get_mock_response('issue.json'))
93
84
 
94
85
  collection = build_receiver.jql(jql_query_string)
95
86
 
96
87
  expect(collection.length).to eq(expected_collection_length)
97
88
  expect(collection.first).to have_attributes(expected_attributes)
98
89
  end
99
-
100
90
  end
101
91
 
102
- shared_examples "a resource with a singular GET endpoint" do
103
-
104
- it "GETs a single resource" do
92
+ shared_examples 'a resource with a singular GET endpoint' do
93
+ it 'GETs a single resource' do
105
94
  # E.g., for JIRA::Resource::Project, we need to call
106
95
  # client.Project.find()
107
- stub_request(:get, site_url + described_class.singular_path(client, key, prefix)).
108
- to_return(:status => 200, :body => get_mock_from_path(:get, :key => key))
96
+ stub_request(:get, site_url + described_class.singular_path(client, key, prefix))
97
+ .to_return(status: 200, body: get_mock_from_path(:get, key: key))
109
98
  subject = client.send(class_basename).find(key, options)
110
99
 
111
100
  expect(subject).to have_attributes(expected_attributes)
112
101
  end
113
102
 
114
- it "builds and fetches a single resource" do
103
+ it 'builds and fetches a single resource' do
115
104
  # E.g., for JIRA::Resource::Project, we need to call
116
105
  # client.Project.build('key' => 'ABC123')
117
- stub_request(:get, site_url + described_class.singular_path(client, key, prefix)).
118
- to_return(:status => 200, :body => get_mock_from_path(:get, :key => key))
106
+ stub_request(:get, site_url + described_class.singular_path(client, key, prefix))
107
+ .to_return(status: 200, body: get_mock_from_path(:get, key: key))
119
108
 
120
109
  subject = build_receiver.build(described_class.key_attribute.to_s => key)
121
110
  subject.fetch
@@ -123,48 +112,45 @@ shared_examples "a resource with a singular GET endpoint" do
123
112
  expect(subject).to have_attributes(expected_attributes)
124
113
  end
125
114
 
126
- it "handles a 404" do
127
- stub_request(:get, site_url + described_class.singular_path(client, '99999', prefix)).
128
- to_return(:status => 404, :body => '{"errorMessages":["'+class_basename+' Does Not Exist"],"errors": {}}')
129
- expect( lambda do
115
+ it 'handles a 404' do
116
+ stub_request(:get, site_url + described_class.singular_path(client, '99999', prefix))
117
+ .to_return(status: 404, body: '{"errorMessages":["' + class_basename + ' Does Not Exist"],"errors": {}}')
118
+ expect(lambda do
130
119
  client.send(class_basename).find('99999', options)
131
120
  end).to raise_exception(JIRA::HTTPError)
132
121
  end
133
122
  end
134
123
 
135
- shared_examples "a resource with a DELETE endpoint" do
136
- it "deletes a resource" do
124
+ shared_examples 'a resource with a DELETE endpoint' do
125
+ it 'deletes a resource' do
137
126
  # E.g., for JIRA::Resource::Project, we need to call
138
127
  # client.Project.delete()
139
- stub_request(:delete, site_url + described_class.singular_path(client, key, prefix)).
140
- to_return(:status => 204, :body => nil)
128
+ stub_request(:delete, site_url + described_class.singular_path(client, key, prefix))
129
+ .to_return(status: 204, body: nil)
141
130
 
142
131
  subject = build_receiver.build(described_class.key_attribute.to_s => key)
143
132
  expect(subject.delete).to be_truthy
144
133
  end
145
134
  end
146
135
 
147
- shared_examples "a resource with a POST endpoint" do
148
-
149
- it "saves a new resource" do
150
- stub_request(:post, site_url + described_class.collection_path(client, prefix)).
151
- to_return(:status => 201, :body => get_mock_from_path(:post))
136
+ shared_examples 'a resource with a POST endpoint' do
137
+ it 'saves a new resource' do
138
+ stub_request(:post, site_url + described_class.collection_path(client, prefix))
139
+ .to_return(status: 201, body: get_mock_from_path(:post))
152
140
  subject = build_receiver.build
153
141
  expect(subject.save(attributes_for_post)).to be_truthy
154
142
  expected_attributes_from_post.each do |method_name, value|
155
143
  expect(subject.send(method_name)).to eq(value)
156
144
  end
157
145
  end
158
-
159
146
  end
160
147
 
161
- shared_examples "a resource with a PUT endpoint" do
162
-
163
- it "saves an existing component" do
164
- stub_request(:get, site_url + described_class.singular_path(client, key, prefix)).
165
- to_return(:status => 200, :body => get_mock_from_path(:get, :key =>key))
166
- stub_request(:put, site_url + described_class.singular_path(client, key, prefix)).
167
- to_return(:status => 200, :body => get_mock_from_path(:put, :key => key, :value_if_not_found => nil))
148
+ shared_examples 'a resource with a PUT endpoint' do
149
+ it 'saves an existing component' do
150
+ stub_request(:get, site_url + described_class.singular_path(client, key, prefix))
151
+ .to_return(status: 200, body: get_mock_from_path(:get, key: key))
152
+ stub_request(:put, site_url + described_class.singular_path(client, key, prefix))
153
+ .to_return(status: 200, body: get_mock_from_path(:put, key: key, value_if_not_found: nil))
168
154
  subject = build_receiver.build(described_class.key_attribute.to_s => key)
169
155
  subject.fetch
170
156
  expect(subject.save(attributes_for_put)).to be_truthy
@@ -172,23 +158,20 @@ shared_examples "a resource with a PUT endpoint" do
172
158
  expect(subject.send(method_name)).to eq(value)
173
159
  end
174
160
  end
175
-
176
161
  end
177
162
 
178
163
  shared_examples 'a resource with a PUT endpoint that rejects invalid fields' do
179
-
180
- it "fails to save with an invalid field" do
181
- stub_request(:get, site_url + described_class.singular_path(client, key)).
182
- to_return(:status => 200, :body => get_mock_from_path(:get, :key => key))
183
- stub_request(:put, site_url + described_class.singular_path(client, key)).
184
- to_return(:status => 400, :body => get_mock_from_path(:put, :key => key, :suffix => "invalid"))
164
+ it 'fails to save with an invalid field' do
165
+ stub_request(:get, site_url + described_class.singular_path(client, key))
166
+ .to_return(status: 200, body: get_mock_from_path(:get, key: key))
167
+ stub_request(:put, site_url + described_class.singular_path(client, key))
168
+ .to_return(status: 400, body: get_mock_from_path(:put, key: key, suffix: 'invalid'))
185
169
  subject = client.send(class_basename).build(described_class.key_attribute.to_s => key)
186
170
  subject.fetch
187
171
 
188
- expect(subject.save('fields'=> {'invalid' => 'field'})).to be_falsey
172
+ expect(subject.save('fields' => { 'invalid' => 'field' })).to be_falsey
189
173
  expect(lambda do
190
- subject.save!('fields'=> {'invalid' => 'field'})
174
+ subject.save!('fields' => { 'invalid' => 'field' })
191
175
  end).to raise_error(JIRA::HTTPError)
192
176
  end
193
-
194
177
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jira-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SUMO Heavy Industries
@@ -9,30 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-01-19 00:00:00.000000000 Z
12
+ date: 2018-09-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: oauth
15
+ name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '0.5'
21
18
  - - ">="
22
19
  - !ruby/object:Gem::Version
23
- version: 0.5.0
20
+ version: '0'
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
27
24
  requirements:
28
- - - "~>"
29
- - !ruby/object:Gem::Version
30
- version: '0.5'
31
25
  - - ">="
32
26
  - !ruby/object:Gem::Version
33
- version: 0.5.0
27
+ version: '0'
34
28
  - !ruby/object:Gem::Dependency
35
- name: activesupport
29
+ name: multipart-post
36
30
  requirement: !ruby/object:Gem::Requirement
37
31
  requirements:
38
32
  - - ">="
@@ -46,153 +40,159 @@ dependencies:
46
40
  - !ruby/object:Gem::Version
47
41
  version: '0'
48
42
  - !ruby/object:Gem::Dependency
49
- name: multipart-post
43
+ name: oauth
50
44
  requirement: !ruby/object:Gem::Requirement
51
45
  requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0.5'
52
49
  - - ">="
53
50
  - !ruby/object:Gem::Version
54
- version: '0'
51
+ version: 0.5.0
55
52
  type: :runtime
56
53
  prerelease: false
57
54
  version_requirements: !ruby/object:Gem::Requirement
58
55
  requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: '0.5'
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.5.0
62
62
  - !ruby/object:Gem::Dependency
63
- name: railties
63
+ name: guard
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.13'
66
69
  - - ">="
67
70
  - !ruby/object:Gem::Version
68
- version: '0'
71
+ version: 2.13.0
69
72
  type: :development
70
73
  prerelease: false
71
74
  version_requirements: !ruby/object:Gem::Requirement
72
75
  requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.13'
73
79
  - - ">="
74
80
  - !ruby/object:Gem::Version
75
- version: '0'
81
+ version: 2.13.0
76
82
  - !ruby/object:Gem::Dependency
77
- name: webmock
83
+ name: guard-rspec
78
84
  requirement: !ruby/object:Gem::Requirement
79
85
  requirements:
80
86
  - - "~>"
81
87
  - !ruby/object:Gem::Version
82
- version: '1.18'
88
+ version: '4.6'
83
89
  - - ">="
84
90
  - !ruby/object:Gem::Version
85
- version: 1.18.0
91
+ version: 4.6.5
86
92
  type: :development
87
93
  prerelease: false
88
94
  version_requirements: !ruby/object:Gem::Requirement
89
95
  requirements:
90
96
  - - "~>"
91
97
  - !ruby/object:Gem::Version
92
- version: '1.18'
98
+ version: '4.6'
93
99
  - - ">="
94
100
  - !ruby/object:Gem::Version
95
- version: 1.18.0
101
+ version: 4.6.5
96
102
  - !ruby/object:Gem::Dependency
97
- name: rspec
103
+ name: pry
98
104
  requirement: !ruby/object:Gem::Requirement
99
105
  requirements:
100
106
  - - "~>"
101
107
  - !ruby/object:Gem::Version
102
- version: '3.0'
108
+ version: '0.10'
103
109
  - - ">="
104
110
  - !ruby/object:Gem::Version
105
- version: 3.0.0
111
+ version: 0.10.3
106
112
  type: :development
107
113
  prerelease: false
108
114
  version_requirements: !ruby/object:Gem::Requirement
109
115
  requirements:
110
116
  - - "~>"
111
117
  - !ruby/object:Gem::Version
112
- version: '3.0'
118
+ version: '0.10'
113
119
  - - ">="
114
120
  - !ruby/object:Gem::Version
115
- version: 3.0.0
121
+ version: 0.10.3
116
122
  - !ruby/object:Gem::Dependency
117
- name: rake
123
+ name: railties
118
124
  requirement: !ruby/object:Gem::Requirement
119
125
  requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: '10.3'
123
126
  - - ">="
124
127
  - !ruby/object:Gem::Version
125
- version: 10.3.2
128
+ version: '0'
126
129
  type: :development
127
130
  prerelease: false
128
131
  version_requirements: !ruby/object:Gem::Requirement
129
132
  requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: '10.3'
133
133
  - - ">="
134
134
  - !ruby/object:Gem::Version
135
- version: 10.3.2
135
+ version: '0'
136
136
  - !ruby/object:Gem::Dependency
137
- name: guard
137
+ name: rake
138
138
  requirement: !ruby/object:Gem::Requirement
139
139
  requirements:
140
140
  - - "~>"
141
141
  - !ruby/object:Gem::Version
142
- version: '2.13'
142
+ version: '10.3'
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: 2.13.0
145
+ version: 10.3.2
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '2.13'
152
+ version: '10.3'
153
153
  - - ">="
154
154
  - !ruby/object:Gem::Version
155
- version: 2.13.0
155
+ version: 10.3.2
156
156
  - !ruby/object:Gem::Dependency
157
- name: guard-rspec
157
+ name: rspec
158
158
  requirement: !ruby/object:Gem::Requirement
159
159
  requirements:
160
160
  - - "~>"
161
161
  - !ruby/object:Gem::Version
162
- version: '4.6'
162
+ version: '3.0'
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
- version: 4.6.5
165
+ version: 3.0.0
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '4.6'
172
+ version: '3.0'
173
173
  - - ">="
174
174
  - !ruby/object:Gem::Version
175
- version: 4.6.5
175
+ version: 3.0.0
176
176
  - !ruby/object:Gem::Dependency
177
- name: pry
177
+ name: webmock
178
178
  requirement: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: '0.10'
182
+ version: '1.18'
183
183
  - - ">="
184
184
  - !ruby/object:Gem::Version
185
- version: 0.10.3
185
+ version: 1.18.0
186
186
  type: :development
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
189
189
  requirements:
190
190
  - - "~>"
191
191
  - !ruby/object:Gem::Version
192
- version: '0.10'
192
+ version: '1.18'
193
193
  - - ">="
194
194
  - !ruby/object:Gem::Version
195
- version: 0.10.3
195
+ version: 1.18.0
196
196
  description: API for JIRA
197
197
  email:
198
198
  executables: []
@@ -222,6 +222,7 @@ files:
222
222
  - lib/jira/resource/agile.rb
223
223
  - lib/jira/resource/applinks.rb
224
224
  - lib/jira/resource/attachment.rb
225
+ - lib/jira/resource/board.rb
225
226
  - lib/jira/resource/comment.rb
226
227
  - lib/jira/resource/component.rb
227
228
  - lib/jira/resource/createmeta.rb
@@ -238,6 +239,7 @@ files:
238
239
  - lib/jira/resource/resolution.rb
239
240
  - lib/jira/resource/serverinfo.rb
240
241
  - lib/jira/resource/sprint.rb
242
+ - lib/jira/resource/sprint_report.rb
241
243
  - lib/jira/resource/status.rb
242
244
  - lib/jira/resource/transition.rb
243
245
  - lib/jira/resource/user.rb
@@ -276,6 +278,7 @@ files:
276
278
  - spec/jira/request_client_spec.rb
277
279
  - spec/jira/resource/agile_spec.rb
278
280
  - spec/jira/resource/attachment_spec.rb
281
+ - spec/jira/resource/board_spec.rb
279
282
  - spec/jira/resource/createmeta_spec.rb
280
283
  - spec/jira/resource/field_spec.rb
281
284
  - spec/jira/resource/filter_spec.rb
@@ -283,6 +286,7 @@ files:
283
286
  - spec/jira/resource/issuelink_spec.rb
284
287
  - spec/jira/resource/project_factory_spec.rb
285
288
  - spec/jira/resource/project_spec.rb
289
+ - spec/jira/resource/sprint_spec.rb
286
290
  - spec/jira/resource/user_factory_spec.rb
287
291
  - spec/jira/resource/worklog_spec.rb
288
292
  - spec/mock_responses/board/1.json
@@ -365,7 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
369
  version: '0'
366
370
  requirements: []
367
371
  rubyforge_project: jira-ruby
368
- rubygems_version: 2.6.14
372
+ rubygems_version: 2.7.4
369
373
  signing_key:
370
374
  specification_version: 4
371
375
  summary: Ruby Gem for use with the Atlassian JIRA REST API
@@ -398,6 +402,7 @@ test_files:
398
402
  - spec/jira/request_client_spec.rb
399
403
  - spec/jira/resource/agile_spec.rb
400
404
  - spec/jira/resource/attachment_spec.rb
405
+ - spec/jira/resource/board_spec.rb
401
406
  - spec/jira/resource/createmeta_spec.rb
402
407
  - spec/jira/resource/field_spec.rb
403
408
  - spec/jira/resource/filter_spec.rb
@@ -405,6 +410,7 @@ test_files:
405
410
  - spec/jira/resource/issuelink_spec.rb
406
411
  - spec/jira/resource/project_factory_spec.rb
407
412
  - spec/jira/resource/project_spec.rb
413
+ - spec/jira/resource/sprint_spec.rb
408
414
  - spec/jira/resource/user_factory_spec.rb
409
415
  - spec/jira/resource/worklog_spec.rb
410
416
  - spec/mock_responses/board/1.json