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