gitmine 0.1.3 → 0.1.4.pre

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/.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