gitmine 0.1.3 → 0.1.4.pre

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -19,3 +19,4 @@ rdoc
19
19
  pkg
20
20
 
21
21
  ## PROJECT::SPECIFIC
22
+ .gitmine.yml.mine
data/.gitmine.yml CHANGED
@@ -1,2 +1,2 @@
1
1
  host: 'http://redmine-gitmine.heroku.com'
2
- #api_key: '' # No need for api_key since the redmine project is public.
2
+ github: 'pcreux/gitmine'
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
- gem 'httparty'
2
- gem 'grit'
1
+ gem 'httparty', '0.6.1'
2
+ gem 'grit', '2.0.0'
3
3
 
4
4
  # Test env
5
- gem 'rspec', '2.0.0.beta.17'
5
+ gem 'rspec', '2.0.0'
data/Gemfile.lock ADDED
@@ -0,0 +1,26 @@
1
+ GEM
2
+ specs:
3
+ crack (0.1.8)
4
+ diff-lcs (1.1.2)
5
+ grit (2.0.0)
6
+ diff-lcs (>= 1.1.2)
7
+ mime-types (>= 1.15)
8
+ httparty (0.6.1)
9
+ crack (= 0.1.8)
10
+ mime-types (1.16)
11
+ rspec (2.0.0.beta.17)
12
+ rspec-core (= 2.0.0.beta.17)
13
+ rspec-expectations (= 2.0.0.beta.17)
14
+ rspec-mocks (= 2.0.0.beta.17)
15
+ rspec-core (2.0.0.beta.17)
16
+ rspec-expectations (2.0.0.beta.17)
17
+ diff-lcs (>= 1.1.2)
18
+ rspec-mocks (2.0.0.beta.17)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ grit
25
+ httparty
26
+ rspec (= 2.0.0.beta.17)
data/README.rdoc CHANGED
@@ -14,7 +14,21 @@ Put the config file '.gitmine.yml' at the root of your project. Here is a sample
14
14
  # Api key is required for private projects only.
15
15
  api_key: 'your_api_key'
16
16
 
17
- Then run gitmine at the root of your project.
17
+ == Usage
18
+
19
+ * Display the latest 10 commits and there ticket status:
20
+
21
+ $> gitmine
22
+ 8497d68 In Progress Philippe Creux Add branch command. Need refactoring.Issue #10
23
+ b0132d2 Closed Philippe Creux Gitmine now works on case sensitive FS. Issue #8
24
+ b77fb0c N/A Philippe Creux Add Greg Bell as an awesome contributor.
25
+ 9f3e464 N/A Greg Bell Moved CommitMsgToIssueId module into the Gitmine::I
26
+
27
+ * Create a new remote branch + a tracking branch + add a note to the associated ticket:
28
+
29
+ $> gitmine branch 10-add-branch
30
+
31
+ See here: http://redmine-gitmine.heroku.com/issues/10#note-1
18
32
 
19
33
  == Note on Issues
20
34
 
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ begin
14
14
  gem.executables = ["gitmine"]
15
15
  gem.add_dependency "httparty"
16
16
  gem.add_dependency "grit"
17
- gem.add_development_dependency "rspec", ">= 1.2.9"
17
+ gem.add_development_dependency "rspec", "2.0.0"
18
18
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
19
19
  end
20
20
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4.pre
data/bin/gitmine CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
  require File.dirname(__FILE__) + '/../lib/gitmine'
3
3
 
4
- Gitmine.run
4
+ Gitmine::CLI.run
data/gitmine.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gitmine}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4.pre"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Philippe Creux"]
12
- s.date = %q{2010-08-11}
12
+ s.date = %q{2010-11-11}
13
13
  s.default_executable = %q{gitmine}
14
14
  s.description = %q{Git log with status of associated redmine tickets}
15
15
  s.email = %q{pcreux@gmail.com}
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  ".gitignore",
24
24
  ".gitmine.yml",
25
25
  "Gemfile",
26
+ "Gemfile.lock",
26
27
  "LICENSE",
27
28
  "README.rdoc",
28
29
  "Rakefile",
@@ -31,6 +32,10 @@ Gem::Specification.new do |s|
31
32
  "bin/gitmine",
32
33
  "gitmine.gemspec",
33
34
  "lib/gitmine.rb",
35
+ "lib/gitmine/cli.rb",
36
+ "lib/gitmine/commit.rb",
37
+ "lib/gitmine/gitmine.rb",
38
+ "lib/gitmine/issue.rb",
34
39
  "spec/commit_msg_to_issue_id_spec.rb",
35
40
  "spec/commit_spec.rb",
36
41
  "spec/config.yml",
@@ -41,33 +46,33 @@ Gem::Specification.new do |s|
41
46
  s.homepage = %q{http://github.com/pcreux/gitmine}
42
47
  s.rdoc_options = ["--charset=UTF-8"]
43
48
  s.require_paths = ["lib"]
44
- s.rubygems_version = %q{1.3.6}
49
+ s.rubygems_version = %q{1.3.7}
45
50
  s.summary = %q{Git log with status of associated redmine tickets}
46
51
  s.test_files = [
47
- "spec/commit_msg_to_issue_id_spec.rb",
48
- "spec/commit_spec.rb",
49
- "spec/gitmine_spec.rb",
52
+ "spec/gitmine_spec.rb",
53
+ "spec/spec_helper.rb",
50
54
  "spec/issue_spec.rb",
51
- "spec/spec_helper.rb"
55
+ "spec/commit_msg_to_issue_id_spec.rb",
56
+ "spec/commit_spec.rb"
52
57
  ]
53
58
 
54
59
  if s.respond_to? :specification_version then
55
60
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
56
61
  s.specification_version = 3
57
62
 
58
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
63
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
64
  s.add_runtime_dependency(%q<httparty>, [">= 0"])
60
65
  s.add_runtime_dependency(%q<grit>, [">= 0"])
61
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
66
+ s.add_development_dependency(%q<rspec>, ["= 2.0.0"])
62
67
  else
63
68
  s.add_dependency(%q<httparty>, [">= 0"])
64
69
  s.add_dependency(%q<grit>, [">= 0"])
65
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
70
+ s.add_dependency(%q<rspec>, ["= 2.0.0"])
66
71
  end
67
72
  else
68
73
  s.add_dependency(%q<httparty>, [">= 0"])
69
74
  s.add_dependency(%q<grit>, [">= 0"])
70
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
75
+ s.add_dependency(%q<rspec>, ["= 2.0.0"])
71
76
  end
72
77
  end
73
78
 
@@ -0,0 +1,26 @@
1
+ module Gitmine
2
+ class CLI
3
+ def self.run
4
+ case ARGV[0]
5
+ when nil
6
+ list
7
+ when "branch"
8
+ branch
9
+ else
10
+ puts <<-EOS
11
+ Usage:
12
+ gitmine: show the 10 latest commits and their associated issue status
13
+ gitmine branch [BRANCH_NAME]: create a new branch
14
+ EOS
15
+ end
16
+ end
17
+
18
+ def self.list
19
+ Gitmine.list
20
+ end
21
+
22
+ def self.branch
23
+ Gitmine.branch(ARGV[1])
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ module Gitmine
2
+ class Commit
3
+ attr_reader :grit_commit
4
+
5
+ # Initialize a new Commit objects that delegates methods to the Grit::Commit object passed in
6
+ def initialize(grit_commit)
7
+ @grit_commit = grit_commit
8
+ end
9
+
10
+ # Issue associated with this commit
11
+ # Return nil if their is no associated issue
12
+ def issue
13
+ @issue ||= Issue.get_for_commit(message)
14
+ end
15
+
16
+ # Delegate #id to Grit::Commit
17
+ def id
18
+ @grit_commit.id
19
+ end
20
+
21
+ protected
22
+ # Delegate methods to Grit::Commit
23
+ def method_missing(m, *args, &block)
24
+ return @grit_commit.send(m, args, block) if @grit_commit.respond_to? m
25
+ super
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,51 @@
1
+ module Gitmine
2
+ class Gitmine
3
+ def self.list
4
+ gm = Gitmine.new
5
+ gm.commits.each do |commit|
6
+ status = commit.issue ? commit.issue.status : 'N/A'
7
+ puts "#{commit.id[0..6]} #{status.ljust(12)} #{commit.committer.name.ljust(15)} #{commit.message[0..50].gsub("\n", '')}"
8
+ end
9
+ end
10
+
11
+ def initialize
12
+ @repo = Grit::Repo.new(ENV['PWD'])
13
+ @branch = File.read('./.git/HEAD').match(/^ref: refs\/heads\/(.+)/)[1]
14
+ end
15
+
16
+ def commits
17
+ @repo.commits(@branch).map do |c|
18
+ Commit.new(c)
19
+ end
20
+ end
21
+
22
+
23
+ def self.branch(branch_name)
24
+ issue_id = branch_name[/^\d+/]
25
+ original_branch = File.read('./.git/HEAD').match(/^ref: refs\/heads\/(.+)/)[1]
26
+ config = Issue.config
27
+
28
+ raise "Invalid branch name. It should start with the issue number" unless issue_id
29
+
30
+ puts "Creating the remote branch #{branch_name}"
31
+
32
+ run_cmd("git push origin origin:refs/heads/#{branch_name}")
33
+ run_cmd("git checkout --track -b #{branch_name} origin/#{branch_name}")
34
+
35
+
36
+ puts "Adding a note to the Issue ##{issue_id}"
37
+ note = "Branch *#{branch_name}* created from #{original_branch}"
38
+ if config['github']
39
+ note << %{ - "See on Github":https://github.com/#{config['github']}/tree/#{branch_name}}
40
+ note << %{ - "Compare on Github":https://github.com/#{config['github']}/compare/#{original_branch}...#{branch_name}}
41
+ end
42
+
43
+ Issue.find(issue_id).add_note(note)
44
+ end
45
+
46
+ def self.run_cmd(cmd)
47
+ puts cmd
48
+ system cmd
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,68 @@
1
+ module Gitmine
2
+ class Issue
3
+ CONFIG_FILE = './.gitmine.yml'
4
+
5
+ attr_reader :id, :subject, :status
6
+
7
+ # Config from .gitmine.yml
8
+ def self.config
9
+ @@config ||= YAML.load_file(CONFIG_FILE)
10
+ end
11
+
12
+ # Extract the issue_id from a commit message.
13
+ # Examples:
14
+ # CommitMsgToIssueId.parse("Message for Issue #123.")
15
+ # => 123
16
+ # CommitMsgToIssueId.parse("#123.")
17
+ # => nil
18
+ #
19
+ def self.parse_for_issue_id(msg)
20
+ match = msg.match(/Issue #(\d+)/)
21
+ match ? match[1] : nil
22
+ end
23
+
24
+ # Parse the commit_message and get the associated issue if any.
25
+ def self.get_for_commit(commit_message)
26
+ issue_id = parse_for_issue_id(commit_message)
27
+ issue_id ? Issue.find(issue_id) : nil
28
+ end
29
+
30
+ # Get the issue from redmine
31
+ def self.find(issue_id)
32
+ Issue.new.tap { |issue|
33
+ issue.build_via_issue_id(issue_id)
34
+ }
35
+ end
36
+
37
+ # Get attributes from redmine and set them all
38
+ def build_via_issue_id(issue_id)
39
+ @id = issue_id
40
+ data = http_get(issue_id).parsed_response['issue']
41
+ @subject = data['subject']
42
+ @status = data['status']['name']
43
+ end
44
+
45
+ # Add a note to the Issue
46
+ def add_note(note)
47
+ p self.class.put(url(self.id),
48
+ :query => {:notes => note},
49
+ :body => "") # nginx reject requests without body
50
+ end
51
+
52
+ include HTTParty
53
+ base_uri "#{config['host']}/issues/"
54
+ basic_auth config['api_key'], '' # username is api_key, password is empty
55
+ headers 'Content-type' => 'text/xml' # by-pass rails authenticity token mechanism
56
+
57
+ protected
58
+
59
+ # Url to redmine/issues
60
+ def url(id)
61
+ "/#{id}.xml"
62
+ end
63
+
64
+ def http_get(issue_id)
65
+ self.class.get(url(issue_id))
66
+ end
67
+ end
68
+ end
data/lib/gitmine.rb CHANGED
@@ -4,109 +4,6 @@ require 'grit'
4
4
  require 'yaml'
5
5
  require 'httparty'
6
6
 
7
- class Gitmine
8
- # CLI interface
9
- def self.run
10
- gm = Gitmine.new
11
- gm.commits.each do |commit|
12
- status = commit.issue ? commit.issue.status : 'N/A'
13
- puts "#{commit.id[0..6]} #{status.ljust(12)} #{commit.committer.name.ljust(15)} #{commit.message[0..50].gsub("\n", '')}"
14
- end
15
- end
16
-
17
- def initialize
18
- @repo = Grit::Repo.new(ENV['PWD'])
19
- @branch = File.read('./.git/HEAD').match(/^ref: refs\/heads\/(.+)/)[1]
20
- end
21
-
22
- def commits
23
- @repo.commits(@branch).map do |c|
24
- Commit.new(c)
25
- end
26
- end
27
-
28
-
29
- class Commit
30
- attr_reader :grit_commit
31
-
32
- # Initialize a new Commit objects that delegates methods to the Grit::Commit object passed in
33
- def initialize(grit_commit)
34
- @grit_commit = grit_commit
35
- end
36
-
37
- # Issue associated with this commit
38
- # Return nil if their is no associated issue
39
- def issue
40
- @issue ||= Issue.get_for_commit(message)
41
- end
42
-
43
- # Delegate #id to Grit::Commit
44
- def id
45
- @grit_commit.id
46
- end
47
-
48
- protected
49
- # Delegate methods to Grit::Commit
50
- def method_missing(m, *args, &block)
51
- return @grit_commit.send(m, args, block) if @grit_commit.respond_to? m
52
- super
53
- end
54
- end
55
-
56
- class Issue
57
- CONFIG_FILE = './.gitmine.yml'
58
-
59
- attr_reader :id, :subject, :status
60
-
61
- # Extract the issue_id from a commit message.
62
- # Examples:
63
- # CommitMsgToIssueId.parse("Message for Issue #123.")
64
- # => 123
65
- # CommitMsgToIssueId.parse("#123.")
66
- # => nil
67
- #
68
- def self.parse_for_issue_id(msg)
69
- match = msg.match(/Issue #(\d+)/)
70
- match ? match[1] : nil
71
- end
72
-
73
- # Parse the commit_message and get the associated issue if any.
74
- def self.get_for_commit(commit_message)
75
- issue_id = parse_for_issue_id(commit_message)
76
- issue_id ? Issue.get(issue_id) : nil
77
- end
78
-
79
- # Get the issue from redmine
80
- def self.get(issue_id)
81
- Issue.new.tap { |issue|
82
- issue.build_via_issue_id(issue_id)
83
- }
84
- end
85
-
86
- # Config from .gitmine.yml
87
- def config
88
- @config ||= YAML.load_file(CONFIG_FILE)
89
- end
90
-
91
- # Get attributes from redmine and set them all
92
- def build_via_issue_id(issue_id)
93
- @id = issue_id
94
- data = get(issue_id).parsed_response['issue']
95
- @subject = data['subject']
96
- @status = data['status']['name']
97
- end
98
-
99
- protected
100
-
101
- # Url to redmine/issues
102
- def url(id)
103
- "#{config['host']}/issues/#{id}.xml?key=#{config['api_key']}"
104
- end
105
-
106
- # http_get the issue using HTTParty
107
- def get(issue_id)
108
- HTTParty.get(url(issue_id))
109
- end
110
- end
111
-
7
+ %w(gitmine issue commit cli).each do |filename|
8
+ require File.dirname(__FILE__) + "/gitmine/#{filename}.rb"
112
9
  end
data/spec/commit_spec.rb CHANGED
@@ -30,7 +30,8 @@ describe Gitmine::Commit do
30
30
 
31
31
  it "should memoize issue" do
32
32
  Gitmine::Issue.should_receive(:get_for_commit).with("Commit message") { issue }.once
33
- commit.issue.should == issue
34
- commit.issue.should == issue
33
+ 2.times do
34
+ commit.issue.should == issue
35
+ end
35
36
  end
36
37
  end
data/spec/gitmine_spec.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Gitmine do
3
+ describe Gitmine::Gitmine do
4
4
  before do
5
5
  File.stub!(:read) { "ref: refs/heads/wip" }
6
6
  end
7
7
 
8
- let(:gitmine) { Gitmine.new }
8
+ let(:gitmine) { Gitmine::Gitmine.new }
9
9
 
10
10
  let(:commit_1) do
11
11
  mock(
@@ -41,7 +41,7 @@ describe Gitmine do
41
41
 
42
42
  it "should check out to the current branch" do
43
43
  Grit::Repo.should_receive(:new).with(ENV['PWD']) { grit_repo }
44
- Gitmine.new
44
+ Gitmine::Gitmine.new
45
45
  end
46
46
  end
47
47
  end
data/spec/issue_spec.rb CHANGED
@@ -10,18 +10,10 @@ describe Gitmine::Issue do
10
10
 
11
11
  describe "#config" do
12
12
  it "should load the config from config.yml" do
13
- issue.config.should == {"host"=>"http://localhost:3000", "api_key"=>"api_key"}
13
+ Gitmine::Issue.config.should == {"host"=>"http://redmine-gitmine.heroku.com", "github" => "pcreux/gitmine"}
14
14
  end
15
15
  end
16
16
 
17
- describe "#url (protected)" do
18
- it "should build up URL based on the config" do
19
- issue.send(:url, '123').should == 'http://localhost:3000/issues/123.xml?key=api_key'
20
- end
21
-
22
- end
23
-
24
-
25
17
  describe "#get_for_commit" do
26
18
  it "should parse the commit message to find a commit_id and call #get" do
27
19
  commit_msg = 'A commit msg Issue #123'
@@ -30,19 +22,19 @@ describe Gitmine::Issue do
30
22
  end
31
23
  end
32
24
 
33
- describe "#get (class method)" do
25
+ describe "#find (class method)" do
34
26
  it "should build_via_issue_id" do
35
27
  issue = Gitmine::Issue.new
36
28
  Gitmine::Issue.should_receive(:new) { issue }
37
29
  issue.should_receive(:build_via_issue_id)
38
- Gitmine::Issue.get(123)
30
+ Gitmine::Issue.find(123)
39
31
  end
40
32
  end
41
33
 
42
34
  describe "#build_via_issue_id" do
43
35
  before do
44
36
  @httparty = mock(:http_party_response, :parsed_response => {'issue' => { 'subject' => 'A subject', 'status' => {'name' => 'Completed'}}})
45
- issue.stub!(:get) { @httparty }
37
+ issue.stub!(:http_get) { @httparty }
46
38
  end
47
39
 
48
40
  it "should get issue data and load attributes" do
@@ -58,12 +50,11 @@ describe Gitmine::Issue do
58
50
  end
59
51
  end
60
52
 
61
- describe "#get (protected instance method)" do
62
- it "should create a new issue via HTTParty" do
63
- issue.stub!(:url) { 'the_url' }
64
- HTTParty.should_receive(:get).with('the_url')
65
- issue.send(:get, 123)
53
+ describe "#add_note" do
54
+ it "should PUT a note" do
55
+ issue.stub!(:id) { 1 }
56
+ issue.class.should_receive(:put).with('/1.xml', :query => {:notes => "Hello"}, :body => "")
57
+ issue.add_note("Hello")
66
58
  end
67
59
  end
68
-
69
60
  end
metadata CHANGED
@@ -1,12 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitmine
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 961915996
5
+ prerelease: true
5
6
  segments:
6
7
  - 0
7
8
  - 1
8
- - 3
9
- version: 0.1.3
9
+ - 4
10
+ - pre
11
+ version: 0.1.4.pre
10
12
  platform: ruby
11
13
  authors:
12
14
  - Philippe Creux
@@ -14,16 +16,18 @@ autorequire:
14
16
  bindir: bin
15
17
  cert_chain: []
16
18
 
17
- date: 2010-08-11 00:00:00 -07:00
19
+ date: 2010-11-11 00:00:00 -08:00
18
20
  default_executable: gitmine
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
21
23
  name: httparty
22
24
  prerelease: false
23
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
30
+ hash: 3
27
31
  segments:
28
32
  - 0
29
33
  version: "0"
@@ -33,9 +37,11 @@ dependencies:
33
37
  name: grit
34
38
  prerelease: false
35
39
  requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
36
41
  requirements:
37
42
  - - ">="
38
43
  - !ruby/object:Gem::Version
44
+ hash: 3
39
45
  segments:
40
46
  - 0
41
47
  version: "0"
@@ -45,14 +51,16 @@ dependencies:
45
51
  name: rspec
46
52
  prerelease: false
47
53
  requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
48
55
  requirements:
49
- - - ">="
56
+ - - "="
50
57
  - !ruby/object:Gem::Version
58
+ hash: 15
51
59
  segments:
52
- - 1
53
60
  - 2
54
- - 9
55
- version: 1.2.9
61
+ - 0
62
+ - 0
63
+ version: 2.0.0
56
64
  type: :development
57
65
  version_requirements: *id003
58
66
  description: Git log with status of associated redmine tickets
@@ -69,6 +77,7 @@ files:
69
77
  - .gitignore
70
78
  - .gitmine.yml
71
79
  - Gemfile
80
+ - Gemfile.lock
72
81
  - LICENSE
73
82
  - README.rdoc
74
83
  - Rakefile
@@ -77,6 +86,10 @@ files:
77
86
  - bin/gitmine
78
87
  - gitmine.gemspec
79
88
  - lib/gitmine.rb
89
+ - lib/gitmine/cli.rb
90
+ - lib/gitmine/commit.rb
91
+ - lib/gitmine/gitmine.rb
92
+ - lib/gitmine/issue.rb
80
93
  - spec/commit_msg_to_issue_id_spec.rb
81
94
  - spec/commit_spec.rb
82
95
  - spec/config.yml
@@ -93,29 +106,35 @@ rdoc_options:
93
106
  require_paths:
94
107
  - lib
95
108
  required_ruby_version: !ruby/object:Gem::Requirement
109
+ none: false
96
110
  requirements:
97
111
  - - ">="
98
112
  - !ruby/object:Gem::Version
113
+ hash: 3
99
114
  segments:
100
115
  - 0
101
116
  version: "0"
102
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
+ none: false
103
119
  requirements:
104
- - - ">="
120
+ - - ">"
105
121
  - !ruby/object:Gem::Version
122
+ hash: 25
106
123
  segments:
107
- - 0
108
- version: "0"
124
+ - 1
125
+ - 3
126
+ - 1
127
+ version: 1.3.1
109
128
  requirements: []
110
129
 
111
130
  rubyforge_project:
112
- rubygems_version: 1.3.6
131
+ rubygems_version: 1.3.7
113
132
  signing_key:
114
133
  specification_version: 3
115
134
  summary: Git log with status of associated redmine tickets
116
135
  test_files:
117
- - spec/commit_msg_to_issue_id_spec.rb
118
- - spec/commit_spec.rb
119
136
  - spec/gitmine_spec.rb
120
- - spec/issue_spec.rb
121
137
  - spec/spec_helper.rb
138
+ - spec/issue_spec.rb
139
+ - spec/commit_msg_to_issue_id_spec.rb
140
+ - spec/commit_spec.rb