github-pivotal-flow 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 96f8e674edd44441caf0dd7f407730f55a171a3f
4
+ data.tar.gz: 97b78ad1be19763ce08bbedfec0b4b3794e906f6
5
+ SHA512:
6
+ metadata.gz: d8036b44e6e88d57b2bfa537bdf51ebe9e83e5b5d1864f5915e246bdedc7bd9be19ee987c7a7d0a949dae5ecdf7fbf0c448c5c28e15396cf6ca449488d49e09e
7
+ data.tar.gz: a213f34c076c60a34debc78964cf218a9853370d437e3b7151f6dfd3b39c525ed45aff464cd44c62da559a9ae19a778a06bfc7303009b108cec8b8e46cef59a1
@@ -58,6 +58,15 @@ module GithubPivotalFlow
58
58
  # @return [PivotalTracker::Story] the story associated with the current development branch
59
59
  def story(project)
60
60
  story_id = Git.get_config(KEY_STORY_ID, :branch)
61
+ if story_id.blank? && (matchdata = /^[a-z0-9_\-]+\/(\d+)(-[a-z0-9_\-]+)?$/i.match(Git.current_branch))
62
+ story_id = matchdata[1]
63
+ Git.set_config(KEY_STORY_ID, story_id, :branch) unless story_id.blank?
64
+ end
65
+ if story_id.blank?
66
+ story_id = ask('What Pivotal story ID is this branch associated with?').strip
67
+ Git.set_config(KEY_STORY_ID, story_id, :branch) unless story_id.blank?
68
+ end
69
+ return nil if story_id.blank?
61
70
  Story.new(project.stories.find(story_id.to_i), :branch_name => Git.current_branch)
62
71
  end
63
72
 
@@ -126,7 +126,9 @@ module GithubPivotalFlow
126
126
  def self.add_hook(name, source, overwrite = false)
127
127
  hooks_directory = File.join repository_root, '.git', 'hooks'
128
128
  hook = File.join hooks_directory, name
129
-
129
+ puts "Overwrite: #{overwrite}"
130
+ puts "Hook: #{hook}"
131
+ puts "File.exists?: #{File.exist?(hook)}"
130
132
  if overwrite || !File.exist?(hook)
131
133
  print "Creating Git hook #{name}... "
132
134
 
@@ -54,17 +54,49 @@ module GithubPivotalFlow
54
54
  @configuration.story = Story.new(PivotalTracker::Story.new(:id => 12345678))
55
55
  end
56
56
 
57
- it 'return a story when requested' do
58
- project = double('project')
59
- stories = double('stories')
60
- story = double('story')
61
- Git.should_receive(:get_config).with('pivotal-story-id', :branch).and_return('12345678')
62
- project.should_receive(:stories).and_return(stories)
63
- stories.should_receive(:find).with(12345678).and_return(story)
57
+ describe 'story' do
58
+ it 'fetches the story based on the story id stored inside the git config' do
59
+ project = double('project')
60
+ stories = double('stories')
61
+ story = double('story')
62
+ Git.should_receive(:get_config).with('pivotal-story-id', :branch).and_return('12345678')
63
+ project.should_receive(:stories).and_return(stories)
64
+ stories.should_receive(:find).with(12345678).and_return(story)
65
+
66
+ result = @configuration.story project
67
+
68
+ expect(result.story).to eq(story)
69
+ end
70
+
71
+ it 'uses the branch name to deduce the story id if no git config is found' do
72
+ project = double('project')
73
+ stories = double('stories')
74
+ story = double('story')
75
+ Git.stub(:current_branch).and_return('feature/12345678-sample_feature')
76
+ Git.should_receive(:get_config).with('pivotal-story-id', :branch).and_return(' ')
77
+ project.should_receive(:stories).and_return(stories)
78
+ stories.should_receive(:find).with(12345678).and_return(story)
64
79
 
65
- result = @configuration.story project
80
+ result = @configuration.story project
81
+
82
+ expect(result.story).to eq(story)
83
+ end
66
84
 
67
- expect(result).to be_a(Story)
85
+ it 'prompts for the story id if the branch name does not match the known format' do
86
+ project = double('project')
87
+ stories = double('stories')
88
+ story = double('story')
89
+ Git.stub(:current_branch).and_return('unknownformat')
90
+ Git.should_receive(:get_config).with('pivotal-story-id', :branch).and_return(' ')
91
+ @configuration.should_receive(:ask).and_return('12345678')
92
+ Git.should_receive(:set_config).with('pivotal-story-id', '12345678', :branch)
93
+ project.should_receive(:stories).and_return(stories)
94
+ stories.should_receive(:find).with(12345678).and_return(story)
95
+
96
+ result = @configuration.story project
97
+
98
+ expect(result.story).to eq(story)
99
+ end
68
100
  end
69
101
 
70
102
  describe 'github_project' do
@@ -4,164 +4,183 @@ module GithubPivotalFlow
4
4
  describe Git do
5
5
 
6
6
  before do
7
- $stdout = StringIO.new
8
- $stderr = StringIO.new
7
+ #$stdout = StringIO.new
8
+ #$stderr = StringIO.new
9
9
  end
10
10
 
11
- it 'should return the current branch name' do
12
- Shell.should_receive(:exec).with('git branch', true).and_return(" master\n * dev_branch")
11
+ describe '.current_branch' do
12
+ it 'returns the current branch name' do
13
+ Shell.should_receive(:exec).with('git branch', true).and_return(" master\n * dev_branch")
13
14
 
14
- current_branch = Git.current_branch
15
+ current_branch = Git.current_branch
15
16
 
16
- expect(current_branch).to eq('dev_branch')
17
+ expect(current_branch).to eq('dev_branch')
18
+ end
17
19
  end
18
20
 
19
- it 'should return the repository root' do
20
- Dir.mktmpdir do |root|
21
- child_directory = File.expand_path 'child', root
22
- Dir.mkdir child_directory
21
+ describe '.repository_root' do
22
+ it 'returns the repository root' do
23
+ Dir.mktmpdir do |root|
24
+ child_directory = File.expand_path 'child', root
25
+ Dir.mkdir child_directory
23
26
 
24
- git_directory = File.expand_path '.git', root
25
- Dir.mkdir git_directory
27
+ git_directory = File.expand_path '.git', root
28
+ Dir.mkdir git_directory
26
29
 
27
- Dir.should_receive(:pwd).and_return(child_directory)
30
+ Dir.should_receive(:pwd).and_return(child_directory)
28
31
 
29
- repository_root = Git.repository_root
32
+ repository_root = Git.repository_root
30
33
 
31
- expect(repository_root).to eq(root)
34
+ expect(repository_root).to eq(root)
35
+ end
32
36
  end
33
- end
34
37
 
35
- it 'should raise an error there is no repository root' do
36
- Dir.mktmpdir do |root|
37
- child_directory = File.expand_path 'child', root
38
- Dir.mkdir child_directory
38
+ it 'raises an error if there is no repository root' do
39
+ Dir.mktmpdir do |root|
40
+ child_directory = File.expand_path 'child', root
41
+ Dir.mkdir child_directory
39
42
 
40
- Dir.should_receive(:pwd).and_return(child_directory)
43
+ Dir.should_receive(:pwd).and_return(child_directory)
41
44
 
42
- expect { Git.repository_root }.to raise_error
45
+ expect { Git.repository_root }.to raise_error
46
+ end
43
47
  end
44
48
  end
45
49
 
46
- it 'should get configuration when :branch scope is specified' do
47
- Git.should_receive(:current_branch).and_return('test_branch_name')
48
- Shell.should_receive(:exec).with('git config branch.test_branch_name.test_key', false).and_return('test_value')
50
+ describe '.get_config' do
51
+ it 'gets configuration scoped by branch when :branch scope is specified' do
52
+ Git.should_receive(:current_branch).and_return('test_branch_name')
53
+ Shell.should_receive(:exec).with('git config branch.test_branch_name.test_key', false).and_return('test_value')
49
54
 
50
- value = Git.get_config 'test_key', :branch
55
+ value = Git.get_config 'test_key', :branch
51
56
 
52
- expect(value).to eq('test_value')
53
- end
57
+ expect(value).to eq('test_value')
58
+ end
54
59
 
55
- it 'should get configuration when :inherited scope is specified' do
56
- Shell.should_receive(:exec).with('git config test_key', false).and_return('test_value')
60
+ it 'gets configuration when :inherited scope is specified' do
61
+ Shell.should_receive(:exec).with('git config test_key', false).and_return('test_value')
57
62
 
58
- value = Git.get_config 'test_key', :inherited
63
+ value = Git.get_config 'test_key', :inherited
59
64
 
60
- expect(value).to eq('test_value')
61
- end
65
+ expect(value).to eq('test_value')
66
+ end
62
67
 
63
- it 'should raise an error when an unknown scope is specified (get)' do
64
- expect { Git.get_config 'test_key', :unknown }.to raise_error
68
+ it 'raises an error when an unknown scope is specified (get)' do
69
+ expect { Git.get_config 'test_key', :unknown }.to raise_error
70
+ end
65
71
  end
66
72
 
67
- it 'should set configuration when :branch scope is specified' do
68
- Git.should_receive(:current_branch).and_return('test_branch_name')
69
- Shell.should_receive(:exec).with('git config --local branch.test_branch_name.test_key test_value', true)
73
+ describe '.set_config' do
74
+ it 'sets configuration when :branch scope is specified' do
75
+ Git.should_receive(:current_branch).and_return('test_branch_name')
76
+ Shell.should_receive(:exec).with('git config --local branch.test_branch_name.test_key test_value', true)
70
77
 
71
- Git.set_config 'test_key', 'test_value', :branch
72
- end
78
+ Git.set_config 'test_key', 'test_value', :branch
79
+ end
73
80
 
74
- it 'should set configuration when :global scope is specified' do
75
- Shell.should_receive(:exec).with('git config --global test_key test_value', true)
81
+ it 'sets configuration when :global scope is specified' do
82
+ Shell.should_receive(:exec).with('git config --global test_key test_value', true)
76
83
 
77
- Git.set_config 'test_key', 'test_value', :global
78
- end
84
+ Git.set_config 'test_key', 'test_value', :global
85
+ end
79
86
 
80
- it 'should set configuration when :local scope is specified' do
81
- Shell.should_receive(:exec).with('git config --local test_key test_value', true)
87
+ it 'sets configuration when :local scope is specified' do
88
+ Shell.should_receive(:exec).with('git config --local test_key test_value', true)
82
89
 
83
- Git.set_config 'test_key', 'test_value', :local
84
- end
90
+ Git.set_config 'test_key', 'test_value', :local
91
+ end
85
92
 
86
- it 'should raise an error when an unknown scope is specified (set)' do
87
- expect { Git.set_config 'test_key', 'test_value', :unknown }.to raise_error
93
+ it 'raises an error when an unknown scope is specified (set)' do
94
+ expect { Git.set_config 'test_key', 'test_value', :unknown }.to raise_error
95
+ end
88
96
  end
89
97
 
90
- it 'should create a branch and set the root_branch and root_remote properties on it' do
91
- Git.stub(:current_branch).and_return('master')
92
- Shell.should_receive(:exec).with('git branch --quiet dev_branch', true)
93
-
94
- Git.create_branch 'dev_branch'
98
+ describe '.create_branch' do
99
+ it 'creates a branch' do
100
+ Git.stub(:current_branch).and_return('master')
101
+ Shell.should_receive(:exec).with('git branch --quiet dev_branch', true)
102
+ Git.create_branch 'dev_branch'
103
+ end
95
104
  end
96
105
 
97
- it 'should not add a hook if it already exists' do
98
- Dir.mktmpdir do |root|
99
- Git.should_receive(:repository_root).and_return(root)
100
- hook = "#{root}/.git/hooks/prepare-commit-msg"
101
- File.should_receive(:exist?).with(hook).and_return(true)
106
+ #FIXME: Can't seem to set an expectation on File for some reason...
107
+ describe '.add_hook' do
108
+ it 'does not add a hook if it already exists' do
109
+ Dir.mktmpdir do |root|
110
+ Git.should_receive(:repository_root).and_return(root)
111
+ hook = "#{root}/.git/hooks/prepare-commit-msg"
112
+ File.should_receive(:exists?).with(hook).and_return(true)
102
113
 
103
- Git.add_hook 'prepare-commit-msg', __FILE__
104
-
105
- File.should_receive(:exist?).and_call_original
106
- expect(File.exist?(hook)).to be_false
114
+ Git.add_hook 'prepare-commit-msg', __FILE__
115
+ File.should_receive(:exist?).and_call_original
116
+ expect(File.exist?(hook)).to be_false
117
+ end
107
118
  end
108
- end
109
119
 
110
- it 'should add a hook if it does not exist' do
111
- Dir.mktmpdir do |root|
112
- Git.should_receive(:repository_root).and_return(root)
113
- hook = "#{root}/.git/hooks/prepare-commit-msg"
114
- File.should_receive(:exist?).with(hook).and_return(false)
120
+ it 'adds a hook if it does not exist' do
121
+ Dir.mktmpdir do |root|
122
+ Git.should_receive(:repository_root).and_return(root)
123
+ hook = "#{root}/.git/hooks/prepare-commit-msg"
124
+ File.should_receive(:exist?).with(hook).and_return(false)
115
125
 
116
- Git.add_hook 'prepare-commit-msg', __FILE__
126
+ Git.add_hook 'prepare-commit-msg', __FILE__
117
127
 
118
- File.should_receive(:exist?).and_call_original
119
- expect(File.exist?(hook)).to be_true
128
+ File.should_receive(:exist?).and_call_original
129
+ expect(File.exist?(hook)).to be_true
130
+ end
120
131
  end
121
- end
122
132
 
123
- it 'should add a hook if it already exists and overwrite is true' do
124
- Dir.mktmpdir do |root|
125
- Git.should_receive(:repository_root).and_return(root)
126
- hook = "#{root}/.git/hooks/prepare-commit-msg"
133
+ it 'adds a hook if it already exists and overwrite is true' do
134
+ Dir.mktmpdir do |root|
135
+ Git.should_receive(:repository_root).and_return(root)
136
+ hook = "#{root}/.git/hooks/prepare-commit-msg"
127
137
 
128
- Git.add_hook 'prepare-commit-msg', __FILE__, true
138
+ Git.add_hook 'prepare-commit-msg', __FILE__, true
129
139
 
130
- File.should_receive(:exist?).and_call_original
131
- expect(File.exist?(hook)).to be_true
140
+ File.should_receive(:exist?).and_call_original
141
+ expect(File.exist?(hook)).to be_true
142
+ end
132
143
  end
133
144
  end
134
145
 
135
- it 'should merge and delete branches' do
136
- Shell.should_receive(:exec).with("git merge --quiet --no-ff -m \"Merge development_branch to master\" development_branch", true)
146
+ describe '.merge' do
147
+ it 'merges branches' do
148
+ Shell.should_receive(:exec).with("git merge --quiet --no-ff -m \"Merge development_branch to master\" development_branch", true)
137
149
 
138
- Git.merge 'development_branch', commit_message: 'Merge development_branch to master', no_ff: true
150
+ Git.merge 'development_branch', commit_message: 'Merge development_branch to master', no_ff: true
151
+ end
139
152
  end
140
153
 
141
- it 'should push changes without refs' do
142
- Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
143
- Shell.should_receive(:exec).with('git push --quiet origin ', true)
154
+ describe '.push' do
155
+ it 'pushes changes back to the origin without refs' do
156
+ Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
157
+ Shell.should_receive(:exec).with('git push --quiet origin ', true)
144
158
 
145
- Git.push
146
- end
159
+ Git.push
160
+ end
147
161
 
148
- it 'should push changes with refs' do
149
- Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
150
- Shell.should_receive(:exec).with('git push --quiet origin foo bar', true)
162
+ it 'pushes changes back to the origin with refs' do
163
+ Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
164
+ Shell.should_receive(:exec).with('git push --quiet origin foo bar', true)
151
165
 
152
- Git.push 'foo', 'bar'
166
+ Git.push 'foo', 'bar'
167
+ end
153
168
  end
154
169
 
155
- it 'should create a commit' do
156
- Shell.should_receive(:exec).with("git commit --quiet --allow-empty -m \"test_message\"", true)
170
+ describe '.commit' do
171
+ it 'creates a commit' do
172
+ Shell.should_receive(:exec).with("git commit --quiet --allow-empty -m \"test_message\"", true)
157
173
 
158
- Git.commit commit_message: 'test_message', allow_empty: true
174
+ Git.commit commit_message: 'test_message', allow_empty: true
175
+ end
159
176
  end
160
177
 
161
- it 'should create a tag' do
162
- Shell.should_receive(:exec).with('git tag 1.0.0.RELEASE', true)
178
+ describe '.tag' do
179
+ it 'creates a tag' do
180
+ Shell.should_receive(:exec).with('git tag 1.0.0.RELEASE', true)
163
181
 
164
- Git.tag '1.0.0.RELEASE'
182
+ Git.tag '1.0.0.RELEASE'
183
+ end
165
184
  end
166
185
  end
167
186
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-pivotal-flow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Donald Piret
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-20 00:00:00.000000000 Z
11
+ date: 2014-01-21 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: highline
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: pivotal-tracker
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: bundler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: redcarpet
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rspec
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: simplecov
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: yard
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -150,20 +133,20 @@ extra_rdoc_files: []
150
133
  files:
151
134
  - LICENSE
152
135
  - README.md
136
+ - bin/git-finish
137
+ - bin/git-start
153
138
  - lib/core_ext/object/blank.rb
139
+ - lib/github_pivotal_flow.rb
154
140
  - lib/github_pivotal_flow/command.rb
155
141
  - lib/github_pivotal_flow/configuration.rb
156
142
  - lib/github_pivotal_flow/finish.rb
157
143
  - lib/github_pivotal_flow/git.rb
158
144
  - lib/github_pivotal_flow/github_api.rb
145
+ - lib/github_pivotal_flow/prepare-commit-msg.sh
159
146
  - lib/github_pivotal_flow/project.rb
160
147
  - lib/github_pivotal_flow/shell.rb
161
148
  - lib/github_pivotal_flow/start.rb
162
149
  - lib/github_pivotal_flow/story.rb
163
- - lib/github_pivotal_flow.rb
164
- - lib/github_pivotal_flow/prepare-commit-msg.sh
165
- - bin/git-finish
166
- - bin/git-start
167
150
  - spec/github_pivotal_flow/configuration_spec.rb
168
151
  - spec/github_pivotal_flow/finish_spec.rb
169
152
  - spec/github_pivotal_flow/git_spec.rb
@@ -173,27 +156,26 @@ files:
173
156
  homepage: https://github.com/roomorama/github-pivotal-flow
174
157
  licenses:
175
158
  - MIT
159
+ metadata: {}
176
160
  post_install_message:
177
161
  rdoc_options: []
178
162
  require_paths:
179
163
  - lib
180
164
  required_ruby_version: !ruby/object:Gem::Requirement
181
- none: false
182
165
  requirements:
183
- - - ! '>='
166
+ - - '>='
184
167
  - !ruby/object:Gem::Version
185
168
  version: 1.8.7
186
169
  required_rubygems_version: !ruby/object:Gem::Requirement
187
- none: false
188
170
  requirements:
189
- - - ! '>='
171
+ - - '>='
190
172
  - !ruby/object:Gem::Version
191
173
  version: '0'
192
174
  requirements: []
193
175
  rubyforge_project:
194
- rubygems_version: 1.8.23
176
+ rubygems_version: 2.2.1
195
177
  signing_key:
196
- specification_version: 3
178
+ specification_version: 4
197
179
  summary: Git commands for integration with Pivotal Tracker and Github pull requests
198
180
  test_files:
199
181
  - spec/github_pivotal_flow/configuration_spec.rb