git-storyid 0.2.1 → 0.3.0
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 +5 -1
- data/Gemfile.lock +31 -10
- data/VERSION +1 -1
- data/git-storyid.gemspec +23 -12
- data/lib/git_storyid.rb +55 -21
- data/spec/git_storyid_spec.rb +99 -4
- data/spec/spec_helper.rb +5 -0
- metadata +125 -74
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,11 +1,22 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
addressable (2.3.2)
|
4
5
|
builder (3.0.0)
|
5
|
-
|
6
|
+
columnize (0.3.6)
|
7
|
+
crack (0.3.1)
|
8
|
+
debugger (1.2.1)
|
9
|
+
columnize (>= 0.3.1)
|
10
|
+
debugger-linecache (~> 1.1.1)
|
11
|
+
debugger-ruby_core_source (~> 1.1.4)
|
12
|
+
debugger-linecache (1.1.2)
|
13
|
+
debugger-ruby_core_source (>= 1.1.1)
|
14
|
+
debugger-ruby_core_source (1.1.4)
|
15
|
+
diff-lcs (1.2.1)
|
6
16
|
git (1.2.5)
|
7
17
|
happymapper (0.4.0)
|
8
18
|
libxml-ruby (~> 2.0)
|
19
|
+
hashie (1.2.0)
|
9
20
|
jeweler (1.8.4)
|
10
21
|
bundler (~> 1.0)
|
11
22
|
git (>= 1.2.5)
|
@@ -13,7 +24,10 @@ GEM
|
|
13
24
|
rdoc
|
14
25
|
json (1.7.3)
|
15
26
|
libxml-ruby (2.3.3)
|
27
|
+
metaclass (0.0.1)
|
16
28
|
mime-types (1.19)
|
29
|
+
mocha (0.13.2)
|
30
|
+
metaclass (~> 0.0.1)
|
17
31
|
nokogiri (1.5.5)
|
18
32
|
pivotal-tracker (0.5.4)
|
19
33
|
builder
|
@@ -29,19 +43,26 @@ GEM
|
|
29
43
|
json (~> 1.4)
|
30
44
|
rest-client (1.6.7)
|
31
45
|
mime-types (>= 1.16)
|
32
|
-
rspec (2.
|
33
|
-
rspec-core (~> 2.
|
34
|
-
rspec-expectations (~> 2.
|
35
|
-
rspec-mocks (~> 2.
|
36
|
-
rspec-core (2.
|
37
|
-
rspec-expectations (2.
|
38
|
-
diff-lcs (
|
39
|
-
rspec-mocks (2.
|
46
|
+
rspec (2.13.0)
|
47
|
+
rspec-core (~> 2.13.0)
|
48
|
+
rspec-expectations (~> 2.13.0)
|
49
|
+
rspec-mocks (~> 2.13.0)
|
50
|
+
rspec-core (2.13.0)
|
51
|
+
rspec-expectations (2.13.0)
|
52
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
53
|
+
rspec-mocks (2.13.0)
|
54
|
+
webmock (1.8.7)
|
55
|
+
addressable (>= 2.2.7)
|
56
|
+
crack (>= 0.1.7)
|
40
57
|
|
41
58
|
PLATFORMS
|
42
59
|
ruby
|
43
60
|
|
44
61
|
DEPENDENCIES
|
62
|
+
debugger
|
63
|
+
hashie
|
45
64
|
jeweler (~> 1.8.3)
|
65
|
+
mocha
|
46
66
|
pivotal-tracker
|
47
|
-
rspec
|
67
|
+
rspec
|
68
|
+
webmock
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/git-storyid.gemspec
CHANGED
@@ -4,15 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "git-storyid"
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bogdan Gusiev"]
|
12
|
-
s.date =
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.email = %q{agresso@gmail.com}
|
12
|
+
s.date = "2013-03-06"
|
13
|
+
s.description = "Helps include pivotal story id and description in commit"
|
14
|
+
s.email = "agresso@gmail.com"
|
16
15
|
s.executables = ["git-storyid"]
|
17
16
|
s.extra_rdoc_files = [
|
18
17
|
"LICENSE.txt",
|
@@ -34,28 +33,40 @@ Gem::Specification.new do |s|
|
|
34
33
|
"spec/git_storyid_spec.rb",
|
35
34
|
"spec/spec_helper.rb"
|
36
35
|
]
|
37
|
-
s.homepage =
|
36
|
+
s.homepage = "http://github.com/bogdan/git-storyid"
|
38
37
|
s.licenses = ["MIT"]
|
39
38
|
s.require_paths = ["lib"]
|
40
|
-
s.rubygems_version =
|
41
|
-
s.summary =
|
39
|
+
s.rubygems_version = "1.8.24"
|
40
|
+
s.summary = "Attach commits to pivotal stories"
|
42
41
|
|
43
42
|
if s.respond_to? :specification_version then
|
44
43
|
s.specification_version = 3
|
45
44
|
|
46
45
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
47
46
|
s.add_runtime_dependency(%q<pivotal-tracker>, [">= 0"])
|
48
|
-
s.add_development_dependency(%q<
|
47
|
+
s.add_development_dependency(%q<webmock>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<debugger>, [">= 0"])
|
49
|
+
s.add_development_dependency(%q<mocha>, [">= 0"])
|
50
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
49
51
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
52
|
+
s.add_development_dependency(%q<hashie>, [">= 0"])
|
50
53
|
else
|
51
54
|
s.add_dependency(%q<pivotal-tracker>, [">= 0"])
|
52
|
-
s.add_dependency(%q<
|
55
|
+
s.add_dependency(%q<webmock>, [">= 0"])
|
56
|
+
s.add_dependency(%q<debugger>, [">= 0"])
|
57
|
+
s.add_dependency(%q<mocha>, [">= 0"])
|
58
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
53
59
|
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
60
|
+
s.add_dependency(%q<hashie>, [">= 0"])
|
54
61
|
end
|
55
62
|
else
|
56
63
|
s.add_dependency(%q<pivotal-tracker>, [">= 0"])
|
57
|
-
s.add_dependency(%q<
|
64
|
+
s.add_dependency(%q<webmock>, [">= 0"])
|
65
|
+
s.add_dependency(%q<debugger>, [">= 0"])
|
66
|
+
s.add_dependency(%q<mocha>, [">= 0"])
|
67
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
58
68
|
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
69
|
+
s.add_dependency(%q<hashie>, [">= 0"])
|
59
70
|
end
|
60
71
|
end
|
61
72
|
|
data/lib/git_storyid.rb
CHANGED
@@ -11,10 +11,11 @@ class GitStoryid
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def initialize(*arguments)
|
14
|
+
@git_options = []
|
14
15
|
parser = OptionParser.new do |opts|
|
15
16
|
opts.banner = "Do git commit with information from pivotal story"
|
16
|
-
opts.on("-m [MESSAGE]", "Add addional MESSAGE to comit") do |
|
17
|
-
@
|
17
|
+
opts.on("-m", "--message [MESSAGE]", "Add addional MESSAGE to comit") do |custom_message|
|
18
|
+
@custom_message = custom_message
|
18
19
|
end
|
19
20
|
end
|
20
21
|
parser.parse!(arguments)
|
@@ -35,51 +36,83 @@ class GitStoryid
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def readline_stories_if_not_present
|
38
|
-
|
39
|
+
if !@stories || @stories.empty?
|
40
|
+
quit_if_no_stories
|
41
|
+
output stories_menu
|
42
|
+
@stories = readline_story_ids.map do |index|
|
43
|
+
all_stories[index - 1] || (quit("Story index #{index} not found."))
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def output(message)
|
49
|
+
puts message
|
50
|
+
end
|
51
|
+
|
52
|
+
def quit_if_no_stories
|
39
53
|
if all_stories.empty?
|
40
54
|
quit "No stories started and owned by you."
|
41
55
|
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def stories_menu
|
59
|
+
result = ""
|
42
60
|
all_stories.each_with_index do |story, index|
|
43
|
-
|
61
|
+
result << "[#{index + 1}] #{story.name}\n"
|
44
62
|
end
|
45
|
-
|
46
|
-
|
63
|
+
result << "\n"
|
64
|
+
result
|
65
|
+
end
|
66
|
+
|
67
|
+
def readline_story_ids
|
68
|
+
Readline.readline("Indexes(csv): ", true).split(/\s*,\s*/).reject do |string|
|
47
69
|
string == ""
|
48
|
-
end.map
|
49
|
-
index = string.to_i
|
50
|
-
all_stories[index - 1] || (quit("Story index #{index} not found."))
|
51
|
-
end
|
70
|
+
end.map {|id| id.to_i }
|
52
71
|
end
|
53
72
|
|
54
73
|
def quit(message)
|
55
|
-
|
74
|
+
output message
|
56
75
|
exit 1
|
57
76
|
end
|
58
77
|
|
59
78
|
def run
|
60
|
-
|
61
|
-
quit "No changes staged to commit."
|
62
|
-
end
|
63
|
-
|
79
|
+
ensure_changes_stashed!
|
64
80
|
readline_stories_if_not_present
|
81
|
+
commit_changes
|
82
|
+
end
|
65
83
|
|
84
|
+
def commit_changes
|
85
|
+
output execute("git", "commit", "-m", build_commit_message)
|
86
|
+
end
|
87
|
+
|
88
|
+
def build_commit_message
|
66
89
|
message = ("[#{@stories.map { |s| "\##{s.id}"}.join(", ")}]").rjust 12
|
67
90
|
message += ' '
|
68
|
-
if @
|
69
|
-
message += @
|
91
|
+
if @custom_message && !@custom_message.empty?
|
92
|
+
message += @custom_message.to_s + "\n\n"
|
70
93
|
end
|
71
|
-
message += @stories.map {|s| "
|
72
|
-
|
94
|
+
message += @stories.map {|s| "#{s.story_type.capitalize}: " + s.name.strip}.join("\n\n")
|
95
|
+
message
|
73
96
|
end
|
74
97
|
|
75
98
|
def execute(*args)
|
76
99
|
Open3.popen3(*args) {|i, o| return o.read }
|
77
100
|
end
|
78
101
|
|
102
|
+
def ensure_changes_stashed!
|
103
|
+
if execute("git", "diff", "--staged").empty?
|
104
|
+
quit "No changes staged to commit."
|
105
|
+
end
|
106
|
+
end
|
79
107
|
|
80
108
|
|
81
109
|
module Configuration
|
82
110
|
class << self
|
111
|
+
|
112
|
+
def config=(config)
|
113
|
+
@config = config
|
114
|
+
end
|
115
|
+
|
83
116
|
def read
|
84
117
|
return if @loaded
|
85
118
|
load_config
|
@@ -89,7 +122,8 @@ class GitStoryid
|
|
89
122
|
end
|
90
123
|
|
91
124
|
def load_config
|
92
|
-
@config
|
125
|
+
@config ||= {}
|
126
|
+
@config.merge!(load_config_from(global_config_path))
|
93
127
|
@project_config = load_config_from(project_config_path)
|
94
128
|
@config.merge!(@project_config)
|
95
129
|
end
|
@@ -118,7 +152,7 @@ class GitStoryid
|
|
118
152
|
file.write YAML.dump(@project_config)
|
119
153
|
end
|
120
154
|
@config.merge!(@project_config)
|
121
|
-
|
155
|
+
output "Writing config to .pivotalrc"
|
122
156
|
end
|
123
157
|
end
|
124
158
|
|
data/spec/git_storyid_spec.rb
CHANGED
@@ -3,12 +3,107 @@ require "fileutils"
|
|
3
3
|
|
4
4
|
describe GitStoryid do
|
5
5
|
|
6
|
+
let(:commands) { []}
|
7
|
+
|
8
|
+
def run(*args)
|
9
|
+
GitStoryid.run(*args)
|
10
|
+
end
|
11
|
+
|
6
12
|
before(:each) do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
13
|
+
GitStoryid::Configuration.config = {
|
14
|
+
"api_token" => "a2b4e",
|
15
|
+
"use_ssl" => false,
|
16
|
+
"me" => "BG",
|
17
|
+
"project_id" => "1234"
|
18
|
+
}
|
19
|
+
commands = self.commands
|
20
|
+
GitStoryid.send(:define_method, :execute) do |*args|
|
21
|
+
commands << args
|
22
|
+
""
|
23
|
+
end
|
24
|
+
|
25
|
+
GitStoryid.any_instance.stubs(:ensure_changes_stashed!).returns(true)
|
26
|
+
GitStoryid.any_instance.stubs(:readline_story_ids).returns([1])
|
27
|
+
GitStoryid.any_instance.stubs(:output).returns(true)
|
28
|
+
|
29
|
+
GitStoryid::Configuration.stubs(:project).returns(Hashie::Mash.new(
|
30
|
+
:initial_velocity => 10,
|
31
|
+
:labels => "bonobos,true&co,website",
|
32
|
+
:id => 135657,
|
33
|
+
:week_start_day => "Monday",
|
34
|
+
:use_https => false,
|
35
|
+
:iteration_length => 1,
|
36
|
+
:account => "Allan Grant",
|
37
|
+
:name => "Curebit Marketing",
|
38
|
+
:stories => PivotalTracker::Story,
|
39
|
+
:last_activity_at => DateTime.now,
|
40
|
+
:velocity_scheme => "Average of 3 iterations",
|
41
|
+
:current_iteration_number => 122,
|
42
|
+
:current_velocity => 19,
|
43
|
+
:point_scale => "0,1,2,3",
|
44
|
+
:first_iteration_start_time => DateTime.now
|
45
|
+
))
|
46
|
+
|
47
|
+
GitStoryid.any_instance.stubs(:all_stories).returns([
|
48
|
+
Hashie::Mash.new(
|
49
|
+
:deadline => nil,
|
50
|
+
:labels => "paypal",
|
51
|
+
:accepted_at => nil,
|
52
|
+
:id => 44647731,
|
53
|
+
:jira_id => nil,
|
54
|
+
:estimate => 1,
|
55
|
+
:integration_id => nil,
|
56
|
+
:owned_by => "Bogdan Gusiev",
|
57
|
+
:name => "Strip Default paypal credentials",
|
58
|
+
:created_at => DateTime.now,
|
59
|
+
:story_type => "feature",
|
60
|
+
:other_id => nil,
|
61
|
+
:description => "",
|
62
|
+
:requested_by => "Dominic Coryell",
|
63
|
+
:url => "http://www.pivotaltracker.com/story/show/44647731",
|
64
|
+
:attachments => [],
|
65
|
+
:project_id => 135657,
|
66
|
+
:jira_url => nil,
|
67
|
+
:current_state => "finished",
|
68
|
+
),
|
69
|
+
Hashie::Mash.new(
|
70
|
+
:deadline => nil,
|
71
|
+
:labels => "paypal",
|
72
|
+
:accepted_at => nil,
|
73
|
+
:id => 44647732,
|
74
|
+
:jira_id => nil,
|
75
|
+
:estimate => 1,
|
76
|
+
:integration_id => nil,
|
77
|
+
:owned_by => "Bogdan Gusiev",
|
78
|
+
:name => "Require pro paypal account for mass payments",
|
79
|
+
:created_at => DateTime.now,
|
80
|
+
:story_type => "feature",
|
81
|
+
:other_id => nil,
|
82
|
+
:description => "",
|
83
|
+
:requested_by => "Dominic Coryell",
|
84
|
+
:url => "http://www.pivotaltracker.com/story/show/44647732",
|
85
|
+
:attachments => [],
|
86
|
+
:project_id => 135657,
|
87
|
+
:jira_url => nil,
|
88
|
+
:current_state => "finished"
|
89
|
+
)
|
90
|
+
])
|
11
91
|
end
|
12
92
|
|
93
|
+
it "should commit changes" do
|
94
|
+
run("-m", 'Hello world')
|
95
|
+
commands.should include(["git", "commit", "-m", " [#44647731] Hello world\n\nFeature: Strip Default paypal credentials"])
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should render stories menu correctly" do
|
99
|
+
subject.stories_menu.should == <<-EOI
|
100
|
+
[1] Strip Default paypal credentials
|
101
|
+
[2] Require pro paypal account for mass payments
|
102
|
+
|
103
|
+
EOI
|
104
|
+
end
|
105
|
+
|
106
|
+
|
107
|
+
|
13
108
|
|
14
109
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,17 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
3
|
require 'rspec'
|
4
|
+
require "webmock"
|
5
|
+
require "hashie"
|
4
6
|
require 'git-storyid'
|
5
7
|
|
6
8
|
# Requires supporting files with custom matchers and macros, etc,
|
7
9
|
# in ./support/ and its subdirectories.
|
8
10
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
9
11
|
|
12
|
+
WebMock.disable_net_connect!
|
13
|
+
|
10
14
|
RSpec.configure do |config|
|
15
|
+
config.mock_with :mocha
|
11
16
|
|
12
17
|
end
|
metadata
CHANGED
@@ -1,79 +1,137 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-storyid
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 1
|
10
|
-
version: 0.2.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Bogdan Gusiev
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
23
|
-
none: false
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
hash: 3
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
version: "0"
|
31
|
-
version_requirements: *id001
|
32
|
-
prerelease: false
|
12
|
+
date: 2013-03-06 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
33
15
|
name: pivotal-tracker
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
34
22
|
type: :runtime
|
35
|
-
|
36
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
25
|
none: false
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: webmock
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: debugger
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: mocha
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
48
71
|
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
49
79
|
name: rspec
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
50
86
|
type: :development
|
51
|
-
|
52
|
-
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
89
|
none: false
|
54
|
-
requirements:
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: jeweler
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
55
99
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
hash: 49
|
58
|
-
segments:
|
59
|
-
- 1
|
60
|
-
- 8
|
61
|
-
- 3
|
100
|
+
- !ruby/object:Gem::Version
|
62
101
|
version: 1.8.3
|
63
|
-
|
102
|
+
type: :development
|
64
103
|
prerelease: false
|
65
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.8.3
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: hashie
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
66
118
|
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
67
126
|
description: Helps include pivotal story id and description in commit
|
68
127
|
email: agresso@gmail.com
|
69
|
-
executables:
|
128
|
+
executables:
|
70
129
|
- git-storyid
|
71
130
|
extensions: []
|
72
|
-
|
73
|
-
extra_rdoc_files:
|
131
|
+
extra_rdoc_files:
|
74
132
|
- LICENSE.txt
|
75
133
|
- README.md
|
76
|
-
files:
|
134
|
+
files:
|
77
135
|
- .document
|
78
136
|
- .rspec
|
79
137
|
- Gemfile
|
@@ -88,39 +146,32 @@ files:
|
|
88
146
|
- lib/git_storyid.rb
|
89
147
|
- spec/git_storyid_spec.rb
|
90
148
|
- spec/spec_helper.rb
|
91
|
-
has_rdoc: true
|
92
149
|
homepage: http://github.com/bogdan/git-storyid
|
93
|
-
licenses:
|
150
|
+
licenses:
|
94
151
|
- MIT
|
95
152
|
post_install_message:
|
96
153
|
rdoc_options: []
|
97
|
-
|
98
|
-
require_paths:
|
154
|
+
require_paths:
|
99
155
|
- lib
|
100
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
156
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
157
|
none: false
|
102
|
-
requirements:
|
103
|
-
- -
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
|
106
|
-
segments:
|
158
|
+
requirements:
|
159
|
+
- - ! '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
segments:
|
107
163
|
- 0
|
108
|
-
|
109
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
|
+
hash: 596398730235191081
|
165
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
166
|
none: false
|
111
|
-
requirements:
|
112
|
-
- -
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
|
115
|
-
segments:
|
116
|
-
- 0
|
117
|
-
version: "0"
|
167
|
+
requirements:
|
168
|
+
- - ! '>='
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
118
171
|
requirements: []
|
119
|
-
|
120
172
|
rubyforge_project:
|
121
|
-
rubygems_version: 1.
|
173
|
+
rubygems_version: 1.8.24
|
122
174
|
signing_key:
|
123
175
|
specification_version: 3
|
124
176
|
summary: Attach commits to pivotal stories
|
125
177
|
test_files: []
|
126
|
-
|