taskmapper-jira 0.3.0 → 0.3.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.
- data/Gemfile +1 -1
- data/Gemfile.lock +21 -23
- data/Rakefile +5 -7
- data/lib/jira/version.rb +1 -1
- data/lib/provider/comment.rb +8 -6
- data/lib/provider/jira.rb +0 -4
- data/lib/provider/project.rb +0 -12
- data/lib/provider/ticket.rb +1 -5
- data/spec/comment_spec.rb +35 -25
- data/spec/fixtures/projects.xml +11 -0
- data/spec/project_spec.rb +39 -34
- data/spec/spec_helper.rb +2 -1
- data/spec/ticket_spec.rb +45 -31
- metadata +24 -38
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,40 +1,38 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activemodel (3.2.
|
5
|
-
activesupport (= 3.2.
|
4
|
+
activemodel (3.2.6)
|
5
|
+
activesupport (= 3.2.6)
|
6
6
|
builder (~> 3.0.0)
|
7
|
-
activeresource (3.2.
|
8
|
-
activemodel (= 3.2.
|
9
|
-
activesupport (= 3.2.
|
10
|
-
activesupport (3.2.
|
7
|
+
activeresource (3.2.6)
|
8
|
+
activemodel (= 3.2.6)
|
9
|
+
activesupport (= 3.2.6)
|
10
|
+
activesupport (3.2.6)
|
11
11
|
i18n (~> 0.6)
|
12
12
|
multi_json (~> 1.0)
|
13
13
|
builder (3.0.0)
|
14
14
|
diff-lcs (1.1.3)
|
15
15
|
hashie (1.2.0)
|
16
|
-
httpclient (2.2.3)
|
17
16
|
i18n (0.6.0)
|
18
|
-
jira4r-jh (0.4.0)
|
19
|
-
soap4r
|
20
|
-
soap4r
|
21
|
-
multi_json (1.
|
17
|
+
jira4r-jh-ruby1.9 (0.4.0)
|
18
|
+
soap4r-ruby1.9
|
19
|
+
soap4r-ruby1.9
|
20
|
+
multi_json (1.3.6)
|
22
21
|
rake (0.9.2.2)
|
23
22
|
rcov (1.0.0)
|
24
|
-
rspec (2.
|
25
|
-
rspec-core (~> 2.
|
26
|
-
rspec-expectations (~> 2.
|
27
|
-
rspec-mocks (~> 2.
|
28
|
-
rspec-core (2.
|
29
|
-
rspec-expectations (2.
|
30
|
-
diff-lcs (~> 1.1.
|
31
|
-
rspec-mocks (2.
|
32
|
-
simplecov (0.6.
|
23
|
+
rspec (2.10.0)
|
24
|
+
rspec-core (~> 2.10.0)
|
25
|
+
rspec-expectations (~> 2.10.0)
|
26
|
+
rspec-mocks (~> 2.10.0)
|
27
|
+
rspec-core (2.10.1)
|
28
|
+
rspec-expectations (2.10.0)
|
29
|
+
diff-lcs (~> 1.1.3)
|
30
|
+
rspec-mocks (2.10.1)
|
31
|
+
simplecov (0.6.4)
|
33
32
|
multi_json (~> 1.0)
|
34
33
|
simplecov-html (~> 0.5.3)
|
35
34
|
simplecov-html (0.5.3)
|
36
|
-
soap4r (
|
37
|
-
httpclient (>= 2.1.1)
|
35
|
+
soap4r-ruby1.9 (2.0.5)
|
38
36
|
taskmapper (0.8.0)
|
39
37
|
activeresource (~> 3.0)
|
40
38
|
activesupport (~> 3.0)
|
@@ -44,7 +42,7 @@ PLATFORMS
|
|
44
42
|
ruby
|
45
43
|
|
46
44
|
DEPENDENCIES
|
47
|
-
jira4r-jh (~> 0.4)
|
45
|
+
jira4r-jh-ruby1.9 (~> 0.4)
|
48
46
|
rake (~> 0.9.2)
|
49
47
|
rcov (~> 1.0)
|
50
48
|
rspec (~> 2.8)
|
data/Rakefile
CHANGED
@@ -1,10 +1,8 @@
|
|
1
|
-
require 'bundler/
|
2
|
-
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
-
|
4
|
+
RSpec::Core::RakeTask.new
|
5
5
|
|
6
|
-
|
7
|
-
task :spec
|
8
|
-
sh "bundle exec rspec --color spec/"
|
9
|
-
end
|
6
|
+
task :default => :spec
|
7
|
+
task :test => :spec
|
10
8
|
|
data/lib/jira/version.rb
CHANGED
data/lib/provider/comment.rb
CHANGED
@@ -28,12 +28,6 @@ module TaskMapper::Provider
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
def self.find(ticket_id, *options)
|
32
|
-
if options.first.empty?
|
33
|
-
self.find_all(ticket_id)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
31
|
def self.find_all(ticket_id)
|
38
32
|
begin
|
39
33
|
$jira.getComments("#{ticket_id}").map { |comment| self.new comment }
|
@@ -41,6 +35,14 @@ module TaskMapper::Provider
|
|
41
35
|
[]
|
42
36
|
end
|
43
37
|
end
|
38
|
+
|
39
|
+
def self.find_by_attributes(project_id, ticket_id, attributes = {})
|
40
|
+
search_by_attribute(self.find_all(ticket_id), attributes)
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.find_by_id(project_id, ticket_id, id)
|
44
|
+
self.find_all(ticket_id).find { |comment| comment.id == id }
|
45
|
+
end
|
44
46
|
end
|
45
47
|
end
|
46
48
|
end
|
data/lib/provider/jira.rb
CHANGED
data/lib/provider/project.rb
CHANGED
@@ -38,18 +38,6 @@ module TaskMapper::Provider
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
def self.find(*options)
|
42
|
-
if options[0].first.is_a? Array
|
43
|
-
self.find_all.select do |project|
|
44
|
-
project if options.first.any? { |id| project.id == id }
|
45
|
-
end
|
46
|
-
elsif options[0].first.is_a? Hash
|
47
|
-
find_by_attributes(options[0].first)
|
48
|
-
else
|
49
|
-
self.find_all
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
41
|
def self.find_by_attributes(attributes = {})
|
54
42
|
search_by_attribute(self.find_all, attributes)
|
55
43
|
end
|
data/lib/provider/ticket.rb
CHANGED
@@ -45,7 +45,7 @@ module TaskMapper::Provider
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def self.find_by_id(project_id, id)
|
48
|
-
self.find_all(project_id).
|
48
|
+
self.find_all(project_id).find { |ticket| ticket.id == id }
|
49
49
|
end
|
50
50
|
|
51
51
|
def self.find_all(project_id)
|
@@ -54,10 +54,6 @@ module TaskMapper::Provider
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
def comments(*options)
|
58
|
-
Comment.find(self.id, options)
|
59
|
-
end
|
60
|
-
|
61
57
|
def comment(*options)
|
62
58
|
nil
|
63
59
|
end
|
data/spec/comment_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
3
|
describe TaskMapper::Provider::Jira::Comment do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
let(:url) { 'http://jira.atlassian.com' }
|
5
|
+
let(:fake_jira) { FakeJiraTool.new }
|
6
|
+
let(:project_from_jira) { Struct.new(:id, :name, :description).new(1, 'project', 'project description') }
|
7
|
+
let(:ticket_from_jira) do
|
8
|
+
Struct.new(:id,
|
9
9
|
:status,
|
10
10
|
:priority,
|
11
11
|
:summary,
|
@@ -13,27 +13,37 @@ describe TaskMapper::Provider::Jira::Comment do
|
|
13
13
|
:created,
|
14
14
|
:updated,
|
15
15
|
:description, :assignee, :reporter).new(1,'open','high', 'ticket 1', 'none', Time.now, Time.now, 'description', 'myself', 'yourself')
|
16
|
-
@comment = Struct.new(:id, :author, :body, :created, :updated, :ticket_id, :project_id).new(1,
|
17
|
-
'myself',
|
18
|
-
'body',
|
19
|
-
Time.now,
|
20
|
-
Time.now,
|
21
|
-
1,
|
22
|
-
1)
|
23
|
-
Jira4R::JiraTool.stub!(:new).with(2, @url).and_return(@fj)
|
24
|
-
@fj.stub!(:getProjectsNoSchemes).and_return([@project_jira, @project_jira])
|
25
|
-
@fj.stub!(:getProjectById).and_return(@project_jira)
|
26
|
-
@fj.stub!(:getIssuesFromJqlSearch).and_return([@ticket])
|
27
|
-
@fj.stub!(:getComments).and_return([@comment])
|
28
|
-
@tm = TaskMapper.new(:jira, :username => 'testuser', :password => 'testuser', :url => @url)
|
29
|
-
@ticket = @tm.projects.first.tickets.first
|
30
|
-
@klass = TaskMapper::Provider::Jira::Comment
|
31
16
|
end
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
17
|
+
let(:comment_from_jira) do
|
18
|
+
Struct.new(:id, :author, :body, :created, :updated, :ticket_id, :project_id).new(1,'myself','body',Time.now,Time.now,1,1)
|
19
|
+
end
|
20
|
+
let(:tm) { TaskMapper.new :jira, :username => 'soaptester', :password => 'soaptester', :url => url }
|
21
|
+
let(:ticket) { tm.project(1).ticket(1) }
|
22
|
+
let(:comment_class) { TaskMapper::Provider::Jira::Comment }
|
23
|
+
let(:comment_id) { 1 }
|
24
|
+
before(:each) do
|
25
|
+
Jira4R::JiraTool.stub!(:new).with(2, url).and_return(fake_jira)
|
26
|
+
fake_jira.stub!(:getProjectsNoSchemes).and_return([project_from_jira, project_from_jira])
|
27
|
+
fake_jira.stub!(:getProjectById).and_return(project_from_jira)
|
28
|
+
fake_jira.stub!(:getIssuesFromJqlSearch).and_return([ticket_from_jira])
|
29
|
+
fake_jira.stub!(:getComments).and_return([comment_from_jira])
|
36
30
|
end
|
37
31
|
|
38
|
-
|
32
|
+
describe "Retrieving comments" do
|
33
|
+
context "when #comments" do
|
34
|
+
subject { ticket.comments }
|
35
|
+
it { should be_an_instance_of Array }
|
36
|
+
|
37
|
+
context "when #comments.first" do
|
38
|
+
subject { ticket.comments.first }
|
39
|
+
it { should be_an_instance_of comment_class }
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context "when #comments with id's" do
|
44
|
+
subject { ticket.comments [comment_id] }
|
45
|
+
it { should be_an_instance_of Array }
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
39
49
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<soap:Envelope
|
3
|
+
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
|
4
|
+
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
|
5
|
+
<projects>
|
6
|
+
<project>
|
7
|
+
<id>10</id>
|
8
|
+
<name>Project Test</name>
|
9
|
+
</project>
|
10
|
+
</projects>
|
11
|
+
</soap:Envelope>
|
data/spec/project_spec.rb
CHANGED
@@ -1,46 +1,51 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
3
|
describe TaskMapper::Provider::Jira::Project do
|
4
|
+
|
5
|
+
let(:backend_url) { 'http://jira.atlassian.com' }
|
6
|
+
let(:tm) { TaskMapper.new(:jira, :username => 'soaptester', :password => 'soaptester', :url => backend_url) }
|
7
|
+
let(:fake_jira) { FakeJiraTool.new }
|
8
|
+
let(:returned_project) { Struct.new(:id, :name, :description).new(1, 'project', 'project description') }
|
9
|
+
let(:project_class) { TaskMapper::Provider::Jira::Project }
|
10
|
+
let(:project_id) { 1 }
|
4
11
|
before(:each) do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
'project',
|
9
|
-
'project description')
|
10
|
-
Jira4R::JiraTool.stub!(:new).with(2, @url).and_return(@fj)
|
11
|
-
@fj.stub!(:getProjectsNoSchemes).and_return([@project, @project])
|
12
|
-
@fj.stub!(:getProjectByKey).and_return(@project)
|
13
|
-
@tm = TaskMapper.new(:jira, :username => 'testuser', :password => 'testuser', :url => @url)
|
14
|
-
@klass = TaskMapper::Provider::Jira::Project
|
12
|
+
Jira4R::JiraTool.stub!(:new).with(2, backend_url).and_return(fake_jira)
|
13
|
+
fake_jira.stub!(:getProjectsNoSchemes).and_return([returned_project, returned_project])
|
14
|
+
fake_jira.stub!(:getProjectByKey).and_return(returned_project)
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
describe "Retrieving projects" do
|
18
|
+
context "when #projects" do
|
19
|
+
subject { tm.projects }
|
20
|
+
pending { should be_an_instance_of Array }
|
21
|
+
end
|
21
22
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
23
|
+
context "when #projects with array of id's" do
|
24
|
+
subject { tm.projects [project_id] }
|
25
|
+
it { should be_an_instance_of Array }
|
26
|
+
end
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
projects.first.id.should == 1
|
33
|
-
end
|
28
|
+
context "when #projects with attributes" do
|
29
|
+
subject { tm.projects :id => project_id }
|
30
|
+
it { should be_an_instance_of Array }
|
31
|
+
end
|
34
32
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
describe "Retrieving a single project" do
|
34
|
+
context "when #project with id" do
|
35
|
+
subject { tm.project project_id }
|
36
|
+
it { should be_an_instance_of project_class }
|
37
|
+
|
38
|
+
context "when #project.name" do
|
39
|
+
subject { tm.project(project_id).name }
|
40
|
+
it { should_not be_nil }
|
41
|
+
it { should be_eql('project') }
|
42
|
+
end
|
43
|
+
end
|
40
44
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
+
context "when #project with attribute" do
|
46
|
+
subject { tm.project :id => project_id }
|
47
|
+
it { should be_an_instance_of project_class }
|
48
|
+
end
|
49
|
+
end
|
45
50
|
end
|
46
51
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
$:.unshift(File.expand_path(File.dirname(__FILE__) + '/../lib'))
|
2
2
|
require 'taskmapper'
|
3
3
|
require 'taskmapper-jira'
|
4
|
+
require 'rspec'
|
4
5
|
require 'rspec/expectations'
|
5
6
|
|
6
7
|
class FakeJiraTool
|
@@ -18,6 +19,6 @@ class FakeJiraTool
|
|
18
19
|
end
|
19
20
|
|
20
21
|
RSpec.configure do |config|
|
21
|
-
config.
|
22
|
+
config.color_enabled = true
|
22
23
|
end
|
23
24
|
|
data/spec/ticket_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
3
|
describe TaskMapper::Provider::Jira::Ticket do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
let(:url) { 'http://jira.atlassian.com' }
|
5
|
+
let(:fake_jira) { FakeJiraTool.new }
|
6
|
+
let(:project_from_jira) { Struct.new(:id, :name, :description).new(1, 'project', 'project description') }
|
7
|
+
let(:ticket_from_jira) do
|
8
|
+
Struct.new(:id,
|
9
9
|
:status,
|
10
10
|
:priority,
|
11
11
|
:summary,
|
@@ -13,37 +13,51 @@ describe TaskMapper::Provider::Jira::Ticket do
|
|
13
13
|
:created,
|
14
14
|
:updated,
|
15
15
|
:description, :assignee, :reporter).new(1,'open','high', 'ticket 1', 'none', Time.now, Time.now, 'description', 'myself', 'yourself')
|
16
|
-
Jira4R::JiraTool.stub!(:new).with(2, @url).and_return(@fj)
|
17
|
-
@fj.stub!(:getProjectsNoSchemes).and_return([@project_jira, @project_jira])
|
18
|
-
@fj.stub!(:getProjectById).and_return(@project_jira)
|
19
|
-
@fj.stub!(:getIssuesFromJqlSearch).and_return([@ticket])
|
20
|
-
@tm = TaskMapper.new(:jira, :username => 'testuser', :password => 'testuser', :url => @url)
|
21
|
-
@project_tm = @tm.projects.first
|
22
|
-
@klass = TaskMapper::Provider::Jira::Ticket
|
23
16
|
end
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
17
|
+
let(:tm) { TaskMapper.new(:jira, :username => 'testuser', :password => 'testuser', :url => url) }
|
18
|
+
let(:ticket_class) { TaskMapper::Provider::Jira::Ticket }
|
19
|
+
let(:project_from_tm) { tm.project 1 }
|
20
|
+
let(:ticket_id) { 1 }
|
21
|
+
|
22
|
+
before(:each) do
|
23
|
+
Jira4R::JiraTool.stub!(:new).with(2, url).and_return(fake_jira)
|
24
|
+
fake_jira.stub!(:getProjectsNoSchemes).and_return([project_from_jira, project_from_jira])
|
25
|
+
fake_jira.stub!(:getProjectById).and_return(project_from_jira)
|
26
|
+
fake_jira.stub!(:getIssuesFromJqlSearch).and_return([ticket_from_jira])
|
28
27
|
end
|
29
28
|
|
30
|
-
|
31
|
-
tickets
|
32
|
-
|
33
|
-
|
34
|
-
tickets.first.id.should == 1
|
35
|
-
end
|
29
|
+
describe "Retrieving tickets" do
|
30
|
+
context "when #tickets" do
|
31
|
+
subject { project_from_tm.tickets }
|
32
|
+
it { should be_an_instance_of Array }
|
36
33
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
34
|
+
context "when #tickets.first" do
|
35
|
+
subject { project_from_tm.tickets.first }
|
36
|
+
it { should be_an_instance_of ticket_class }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context "when #tickets with array of id's" do
|
41
|
+
subject { project_from_tm.tickets [ticket_id] }
|
42
|
+
it { should be_an_instance_of Array }
|
43
|
+
end
|
44
|
+
|
45
|
+
context "when #tickets with attributes" do
|
46
|
+
subject { project_from_tm.tickets :id => ticket_id }
|
47
|
+
it { should be_an_instance_of Array }
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "Retrieve a single ticket" do
|
51
|
+
context "when #ticket with id" do
|
52
|
+
subject { project_from_tm.ticket ticket_id }
|
53
|
+
it { should be_an_instance_of ticket_class }
|
54
|
+
end
|
42
55
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
56
|
+
context "when #ticket with attribute" do
|
57
|
+
subject { project_from_tm.ticket :id => ticket_id }
|
58
|
+
it { should be_an_instance_of ticket_class }
|
59
|
+
end
|
60
|
+
end
|
47
61
|
end
|
48
62
|
|
49
63
|
end
|
metadata
CHANGED
@@ -1,35 +1,25 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: taskmapper-jira
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 3
|
9
|
-
- 0
|
10
|
-
version: 0.3.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Charles Lowell
|
14
9
|
- Rafael George
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
date: 2012-05-11 00:00:00 Z
|
13
|
+
date: 2012-07-19 00:00:00.000000000 Z
|
20
14
|
dependencies: []
|
21
|
-
|
22
15
|
description: Interact with Atlassian JIRA ticketing system from Ruby
|
23
|
-
email:
|
16
|
+
email:
|
24
17
|
- cowboyd@thefrontside.net
|
25
18
|
- rafael@hybridgroup.com
|
26
19
|
executables: []
|
27
|
-
|
28
20
|
extensions: []
|
29
|
-
|
30
21
|
extra_rdoc_files: []
|
31
|
-
|
32
|
-
files:
|
22
|
+
files:
|
33
23
|
- .gitignore
|
34
24
|
- .rbenv-gemsets
|
35
25
|
- .rvmrc
|
@@ -44,6 +34,7 @@ files:
|
|
44
34
|
- lib/provider/ticket.rb
|
45
35
|
- lib/taskmapper-jira.rb
|
46
36
|
- spec/comment_spec.rb
|
37
|
+
- spec/fixtures/projects.xml
|
47
38
|
- spec/project_spec.rb
|
48
39
|
- spec/spec_helper.rb
|
49
40
|
- spec/taskmapper-jira_spec.rb
|
@@ -51,39 +42,34 @@ files:
|
|
51
42
|
- taskmapper-jira.gemspec
|
52
43
|
homepage: http://github.com/hybridgroup/taskmapper-jira
|
53
44
|
licenses: []
|
54
|
-
|
55
45
|
post_install_message:
|
56
46
|
rdoc_options: []
|
57
|
-
|
58
|
-
require_paths:
|
47
|
+
require_paths:
|
59
48
|
- lib
|
60
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
50
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
66
|
-
segments:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
segments:
|
67
56
|
- 0
|
68
|
-
|
69
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
hash: 320469779
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
59
|
none: false
|
71
|
-
requirements:
|
72
|
-
- -
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
version: "0"
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
78
64
|
requirements: []
|
79
|
-
|
80
65
|
rubyforge_project:
|
81
|
-
rubygems_version: 1.8.
|
66
|
+
rubygems_version: 1.8.24
|
82
67
|
signing_key:
|
83
68
|
specification_version: 3
|
84
69
|
summary: taskmapper binding for JIRA
|
85
|
-
test_files:
|
70
|
+
test_files:
|
86
71
|
- spec/comment_spec.rb
|
72
|
+
- spec/fixtures/projects.xml
|
87
73
|
- spec/project_spec.rb
|
88
74
|
- spec/spec_helper.rb
|
89
75
|
- spec/taskmapper-jira_spec.rb
|