pivotal-tracker 0.1.0.1 → 0.1.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/VERSION +1 -1
- data/lib/pivotal-tracker/story.rb +10 -6
- data/pivotal-tracker.gemspec +2 -2
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/pivotal-tracker/story_spec.rb +78 -0
- metadata +18 -19
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
@@ -14,19 +14,21 @@ module PivotalTracker
|
|
14
14
|
attr_accessor :project_id
|
15
15
|
|
16
16
|
element :id, Integer
|
17
|
+
element :url, String
|
18
|
+
element :created_at, DateTime
|
19
|
+
element :accepted_at, DateTime
|
20
|
+
|
21
|
+
element :name, String
|
22
|
+
element :description, String
|
17
23
|
element :story_type, String
|
18
|
-
element :url, String
|
19
24
|
element :estimate, Integer
|
20
25
|
element :current_state, String
|
21
|
-
element :name, String
|
22
26
|
element :requested_by, String
|
23
27
|
element :owned_by, String
|
24
|
-
element :created_at, DateTime
|
25
|
-
element :accepted_at, DateTime
|
26
28
|
element :labels, String
|
27
|
-
element :description, String
|
28
29
|
element :jira_id, Integer
|
29
30
|
element :jira_url, String
|
31
|
+
element :other_id, Integer
|
30
32
|
|
31
33
|
def initialize(attributes={})
|
32
34
|
self.project_id = attributes.delete(:owner).id if attributes[:owner]
|
@@ -64,15 +66,17 @@ module PivotalTracker
|
|
64
66
|
builder = Nokogiri::XML::Builder.new do |xml|
|
65
67
|
xml.story {
|
66
68
|
xml.name "#{name}"
|
69
|
+
xml.description "#{description}"
|
67
70
|
xml.story_type "#{story_type}"
|
68
71
|
xml.estimate "#{estimate}"
|
69
72
|
xml.current_state "#{current_state}"
|
70
73
|
xml.requested_by "#{requested_by}"
|
71
74
|
xml.owned_by "#{owned_by}"
|
72
75
|
xml.labels "#{labels}"
|
73
|
-
|
76
|
+
# See spec
|
74
77
|
# xml.jira_id "#{jira_id}"
|
75
78
|
# xml.jira_url "#{jira_url}"
|
79
|
+
xml.other_id "#{other_id}"
|
76
80
|
}
|
77
81
|
end
|
78
82
|
return builder.to_xml
|
data/pivotal-tracker.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{pivotal-tracker}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Justin Smestad", "Josh Nichols", "Terence Lee"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-22}
|
13
13
|
s.email = %q{justin.smestad@gmail.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
data/spec/spec_helper.rb
CHANGED
@@ -23,5 +23,83 @@ describe PivotalTracker::Story do
|
|
23
23
|
@project.stories.create(:name => 'Create Stuff').should be_a(PivotalTracker::Story)
|
24
24
|
end
|
25
25
|
end
|
26
|
+
|
27
|
+
context ".new" do
|
28
|
+
|
29
|
+
def story_for(attrs)
|
30
|
+
story = @project.stories.new(attrs)
|
31
|
+
@story = Hash.from_xml(story.send(:to_xml))['story']
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "attributes that are not sent to the tracker" do
|
35
|
+
|
36
|
+
it "should include id" do
|
37
|
+
story_for(:id => 10)["id"].should be_nil
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should include url" do
|
41
|
+
story_for(:url => "somewhere")["url"].should be_nil
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should include created_at" do
|
45
|
+
story_for(:created_at => Time.now)["created_at"].should be_nil
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should include accepted_at" do
|
49
|
+
story_for(:accepted_at => Time.now)["accepted_at"].should be_nil
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "attributes that are sent to the tracker" do
|
55
|
+
|
56
|
+
it "should include name" do
|
57
|
+
story_for(:name => "A user should...")["name"].should == "A user should..."
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should include description" do
|
61
|
+
story_for(:description => "desc...")["description"].should == "desc..."
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should include story_type" do
|
65
|
+
story_for(:story_type => "feature")["story_type"].should == "feature"
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should include estimate" do
|
69
|
+
story_for(:estimate => 5)["estimate"].should == "5"
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should include current_state" do
|
73
|
+
story_for(:current_state => "accepted")["current_state"].should == "accepted"
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should include requested_by" do
|
77
|
+
story_for(:requested_by => "Joe Doe")["requested_by"].should == "Joe Doe"
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should include owned_by" do
|
81
|
+
story_for(:owned_by => "Joe Doe")["owned_by"].should == "Joe Doe"
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should include labels" do
|
85
|
+
story_for(:labels => "abc")["labels"].should == "abc"
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should include other_id" do
|
89
|
+
story_for(:other_id => 10)["other_id"].should == "10"
|
90
|
+
end
|
91
|
+
|
92
|
+
# the tracker returns 422 when this is included, even if it is not used
|
93
|
+
# it "should include jira_id" do
|
94
|
+
# story_for(:jira_id => 10)["jira_id"].should == "10"
|
95
|
+
# end
|
96
|
+
#
|
97
|
+
# it "should include jira_url" do
|
98
|
+
# story_for(:jira_url => "somewhere")["jira_url"].should == "somewhere"
|
99
|
+
# end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
26
104
|
|
27
105
|
end
|
metadata
CHANGED
@@ -5,9 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
- 0
|
9
8
|
- 1
|
10
|
-
version: 0.1.
|
9
|
+
version: 0.1.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Justin Smestad
|
@@ -17,13 +16,13 @@ autorequire:
|
|
17
16
|
bindir: bin
|
18
17
|
cert_chain: []
|
19
18
|
|
20
|
-
date: 2010-04-
|
19
|
+
date: 2010-04-22 00:00:00 -06:00
|
21
20
|
default_executable:
|
22
21
|
dependencies:
|
23
22
|
- !ruby/object:Gem::Dependency
|
23
|
+
type: :runtime
|
24
24
|
name: rest-client
|
25
|
-
|
26
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
27
26
|
requirements:
|
28
27
|
- - ~>
|
29
28
|
- !ruby/object:Gem::Version
|
@@ -32,12 +31,12 @@ dependencies:
|
|
32
31
|
- 4
|
33
32
|
- 1
|
34
33
|
version: 1.4.1
|
35
|
-
|
36
|
-
|
34
|
+
requirement: *id001
|
35
|
+
prerelease: false
|
37
36
|
- !ruby/object:Gem::Dependency
|
37
|
+
type: :runtime
|
38
38
|
name: happymapper
|
39
|
-
|
40
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
41
40
|
requirements:
|
42
41
|
- - ">="
|
43
42
|
- !ruby/object:Gem::Version
|
@@ -46,24 +45,24 @@ dependencies:
|
|
46
45
|
- 2
|
47
46
|
- 4
|
48
47
|
version: 0.2.4
|
49
|
-
|
50
|
-
|
48
|
+
requirement: *id002
|
49
|
+
prerelease: false
|
51
50
|
- !ruby/object:Gem::Dependency
|
51
|
+
type: :runtime
|
52
52
|
name: builder
|
53
|
-
|
54
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
55
54
|
requirements:
|
56
55
|
- - ">="
|
57
56
|
- !ruby/object:Gem::Version
|
58
57
|
segments:
|
59
58
|
- 0
|
60
59
|
version: "0"
|
61
|
-
|
62
|
-
|
60
|
+
requirement: *id003
|
61
|
+
prerelease: false
|
63
62
|
- !ruby/object:Gem::Dependency
|
63
|
+
type: :runtime
|
64
64
|
name: nokogiri
|
65
|
-
|
66
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
65
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
67
66
|
requirements:
|
68
67
|
- - ~>
|
69
68
|
- !ruby/object:Gem::Version
|
@@ -72,8 +71,8 @@ dependencies:
|
|
72
71
|
- 4
|
73
72
|
- 1
|
74
73
|
version: 1.4.1
|
75
|
-
|
76
|
-
|
74
|
+
requirement: *id004
|
75
|
+
prerelease: false
|
77
76
|
description:
|
78
77
|
email: justin.smestad@gmail.com
|
79
78
|
executables: []
|