gitreport 0.0.1 → 0.0.2

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 CHANGED
@@ -4,8 +4,9 @@ gem 'json'
4
4
  gem 'git', '~>1.2.5'
5
5
 
6
6
  group :development do
7
- gem 'ruby-debug'
7
+ # gem 'ruby-debug'
8
8
  # gem 'ruby-debug19'
9
+ gem 'spork', '>0.9.0.rc'
9
10
  gem 'rspec'
10
11
  gem 'webmock'
11
12
  gem "shoulda", ">= 0"
data/Gemfile.lock CHANGED
@@ -2,7 +2,6 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  addressable (2.2.6)
5
- columnize (0.3.4)
6
5
  crack (0.3.1)
7
6
  diff-lcs (1.1.3)
8
7
  git (1.2.5)
@@ -11,10 +10,7 @@ GEM
11
10
  git (>= 1.2.5)
12
11
  rake
13
12
  json (1.6.1)
14
- linecache (0.46)
15
- rbx-require-relative (> 0.0.4)
16
13
  rake (0.9.2)
17
- rbx-require-relative (0.0.5)
18
14
  rcov (0.9.10)
19
15
  rspec (2.6.0)
20
16
  rspec-core (~> 2.6.0)
@@ -24,12 +20,8 @@ GEM
24
20
  rspec-expectations (2.6.0)
25
21
  diff-lcs (~> 1.1.2)
26
22
  rspec-mocks (2.6.0)
27
- ruby-debug (0.10.4)
28
- columnize (>= 0.1)
29
- ruby-debug-base (~> 0.10.4.0)
30
- ruby-debug-base (0.10.4)
31
- linecache (>= 0.3)
32
23
  shoulda (2.11.3)
24
+ spork (0.9.0.rc9)
33
25
  webmock (1.7.6)
34
26
  addressable (~> 2.2, > 2.2.5)
35
27
  crack (>= 0.1.7)
@@ -44,6 +36,6 @@ DEPENDENCIES
44
36
  json
45
37
  rcov
46
38
  rspec
47
- ruby-debug
48
39
  shoulda
40
+ spork (> 0.9.0.rc)
49
41
  webmock
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/gitreport.gemspec CHANGED
@@ -4,14 +4,15 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "gitreport"
8
- s.version = "0.0.1"
7
+ s.name = %q{gitreport}
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jan Roesner"]
12
- s.date = "2011-10-02"
13
- s.description = "gitreport keeps track of your projects. It collects info about commited and pushed data, submits it to our servers and provides a gorgous frontend to examine, discover and extract the data that you need to generate the payment recipes for your customers. No longer searching or `what did I commit when and where`..."
14
- s.email = "jan@roesner.it"
12
+ s.date = %q{2011-10-14}
13
+ s.default_executable = %q{gitreport}
14
+ s.description = %q{gitreport keeps track of your projects. It collects info about commited and pushed data, submits it to our servers and provides a gorgous frontend to examine, discover and extract the data that you need to generate the payment recipes for your customers. No longer searching or `what did I commit when and where`...}
15
+ s.email = %q{jan@roesner.it}
15
16
  s.executables = ["gitreport"]
16
17
  s.extra_rdoc_files = [
17
18
  "LICENSE.txt",
@@ -57,19 +58,20 @@ Gem::Specification.new do |s|
57
58
  "spec/spec_helper.rb",
58
59
  "spec/support/fake_repository.rb"
59
60
  ]
60
- s.homepage = "http://github.com/janroesner/gitreport"
61
+ s.homepage = %q{http://github.com/janroesner/gitreport}
61
62
  s.licenses = ["MIT"]
62
63
  s.require_paths = ["lib"]
63
- s.rubygems_version = "1.8.10"
64
- s.summary = "gitreport tracks commit and push info of your git projects"
64
+ s.rubygems_version = %q{1.3.7}
65
+ s.summary = %q{gitreport tracks commit and push info of your git projects}
65
66
 
66
67
  if s.respond_to? :specification_version then
68
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
67
69
  s.specification_version = 3
68
70
 
69
71
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
70
72
  s.add_runtime_dependency(%q<json>, [">= 0"])
71
73
  s.add_runtime_dependency(%q<git>, ["~> 1.2.5"])
72
- s.add_development_dependency(%q<ruby-debug>, [">= 0"])
74
+ s.add_development_dependency(%q<spork>, ["> 0.9.0.rc"])
73
75
  s.add_development_dependency(%q<rspec>, [">= 0"])
74
76
  s.add_development_dependency(%q<webmock>, [">= 0"])
75
77
  s.add_development_dependency(%q<shoulda>, [">= 0"])
@@ -79,7 +81,7 @@ Gem::Specification.new do |s|
79
81
  else
80
82
  s.add_dependency(%q<json>, [">= 0"])
81
83
  s.add_dependency(%q<git>, ["~> 1.2.5"])
82
- s.add_dependency(%q<ruby-debug>, [">= 0"])
84
+ s.add_dependency(%q<spork>, ["> 0.9.0.rc"])
83
85
  s.add_dependency(%q<rspec>, [">= 0"])
84
86
  s.add_dependency(%q<webmock>, [">= 0"])
85
87
  s.add_dependency(%q<shoulda>, [">= 0"])
@@ -90,7 +92,7 @@ Gem::Specification.new do |s|
90
92
  else
91
93
  s.add_dependency(%q<json>, [">= 0"])
92
94
  s.add_dependency(%q<git>, ["~> 1.2.5"])
93
- s.add_dependency(%q<ruby-debug>, [">= 0"])
95
+ s.add_dependency(%q<spork>, ["> 0.9.0.rc"])
94
96
  s.add_dependency(%q<rspec>, [">= 0"])
95
97
  s.add_dependency(%q<webmock>, [">= 0"])
96
98
  s.add_dependency(%q<shoulda>, [">= 0"])
data/lib/commit.rb CHANGED
@@ -12,7 +12,7 @@ module GitReport
12
12
 
13
13
  # returns the commit hash of self
14
14
  def sha
15
- self.commit.sha
15
+ @commit.sha
16
16
  end
17
17
 
18
18
  # returns the short version of the commit hash of self
@@ -22,25 +22,32 @@ module GitReport
22
22
 
23
23
  # returns the commit message of self
24
24
  def message
25
- self.commit.message
25
+ @commit.message
26
26
  end
27
27
 
28
28
  # returns the time when self was committed
29
29
  def time
30
- Time.parse(self.commit.author.date.to_s)
30
+ Time.parse(inner_author.date.to_s)
31
31
  end
32
32
 
33
- # returns a struct containing author information name and email of that commit
33
+ # returns a chached struct containing author information name and email of that commit
34
34
  def author
35
+ @author ||= get_author
36
+ end
37
+
38
+ # returns the author struct fr the first time
39
+ def get_author
35
40
  author = OpenStruct.new
36
- author.name = self.commit.author.name
37
- author.email = self.commit.author.email
41
+ author.name = inner_author.name
42
+ author.email = inner_author.email
38
43
  author
39
44
  end
40
45
 
41
46
  # returns commits stats in more detail
42
47
  def stats
43
- # TODO
48
+ @commit.diff(@commit.parent).stats[:total]
49
+ rescue
50
+ nil
44
51
  end
45
52
 
46
53
  # return the commits aggregated data in case a single commit is transferred
@@ -69,6 +76,7 @@ module GitReport
69
76
  data[:author_email] = self.author.email
70
77
  data[:time] = self.time.xmlschema
71
78
  data[:message] = self.message
79
+ data[:stats] = self.stats
72
80
  data[:project_name] = @project.name
73
81
  if scope == :single
74
82
  data[:project_identifier] = self.project_identifier
@@ -81,6 +89,10 @@ module GitReport
81
89
  data
82
90
  end
83
91
 
92
+ # returns the cached author object from the embedded original git object
93
+ def inner_author
94
+ @commit.author
95
+ end
84
96
  end
85
97
 
86
98
  end
@@ -3,12 +3,12 @@ module GitReport
3
3
 
4
4
  # returns the current users name from git config
5
5
  def self.user_name
6
- @@username ||= GitReport.project.project.config('user.name')
6
+ @@username ||= GitReport.project.project.config['user.name']
7
7
  end
8
8
 
9
9
  # returns the current users email from git config
10
10
  def self.user_email
11
- @@useremail ||= GitReport.project.project.config('user.email')
11
+ @@useremail ||= GitReport.project.project.config['user.email']
12
12
  end
13
13
  end
14
14
  end
@@ -31,7 +31,13 @@ describe 'GitReport::BatchSender' do
31
31
  end
32
32
 
33
33
  describe '#batches' do
34
- it 'should create batches in relation to batchsize from configuration'
34
+ it 'should create batches in relation to batchsize from configuration' do
35
+ GitReport.configuration.stub!(:batchsize).and_return(2)
36
+ batches = GitReport::BatchSender.batches(:history)
37
+ batches.size.should == 2
38
+ batches.first.size.should == 2
39
+ batches.last.size.should == 1
40
+ end
35
41
  end
36
42
 
37
43
  end
@@ -7,24 +7,24 @@ describe 'GitReport::Commit' do
7
7
  @repo = FakeRepository.new
8
8
  GitReport.stub!(:project).and_return(GitReport::Project.new(@repo.path))
9
9
  @project = GitReport::Project.new(@repo.path)
10
- @commit = GitReport::Commit.new(@project.log.first, @project.identifier)
10
+ @commit = GitReport::Commit.new(@project.log.last, @project.identifier)
11
11
  end
12
12
 
13
13
  describe '#sha' do
14
14
  it 'should return the sha of a commit' do
15
- @commit.sha.should == @project.log.first.sha
15
+ @commit.sha.should == @project.log.last.sha
16
16
  end
17
17
  end
18
18
 
19
19
  describe '#short_sha' do
20
20
  it 'should return the shortened sha' do
21
- @commit.short_sha.should == @project.log.first.sha[0..6]
21
+ @commit.short_sha.should == @project.log.last.sha[0..6]
22
22
  end
23
23
  end
24
24
 
25
25
  describe '#message' do
26
26
  it 'should return the commits message' do
27
- @commit.message.should == @project.log.first.message
27
+ @commit.message.should == @project.log.last.message
28
28
  end
29
29
  end
30
30
 
@@ -37,13 +37,19 @@ describe 'GitReport::Commit' do
37
37
 
38
38
  describe '#author' do
39
39
  it 'should return the correct author' do
40
- @commit.author.name.should == "Bugs Bunny"
41
- @commit.author.email.should == "bugs@acme.com"
40
+ @commit.author.name.should == "Duffy Duck"
41
+ @commit.author.email.should == "duffy@acme.com"
42
42
  end
43
43
  end
44
44
 
45
45
  describe '#stats' do
46
- it 'should return the commit stats'
46
+ it 'should return the commit stats' do
47
+ stats = GitReport::Commit.new(@project.log.commits.first, @project.identifier).stats
48
+ stats[:deletions].should == 1
49
+ stats[:files].should == 1
50
+ stats[:lines].should == 1
51
+ stats[:insertions].should == 0
52
+ end
47
53
  end
48
54
 
49
55
  describe '#project_identifier' do
@@ -55,7 +61,7 @@ describe 'GitReport::Commit' do
55
61
  describe '#data' do
56
62
  it 'should return the data to be transferred during a single commit including project data' do
57
63
  data = @commit.data
58
- data.size.should == 13
64
+ data.size.should == 14
59
65
  [:project_path, :project_name, :current_branch, :remotes, :remote_urls, :remote_branches].each do |attr|
60
66
  data.keys.include?(attr).should be_true
61
67
  end
@@ -65,7 +71,7 @@ describe 'GitReport::Commit' do
65
71
  describe '#batch_data' do
66
72
  it 'should return the data to be transferred during a batch import without project data' do
67
73
  data = @commit.batch_data
68
- data.size.should == 7
74
+ data.size.should == 8
69
75
  [:project_path, :current_branch, :remotes, :remote_urls, :remote_branches].each do |attr|
70
76
  data.keys.include?(attr).should be_false
71
77
  end
@@ -8,21 +8,20 @@ describe 'GitReport::Sender' do
8
8
  GitReport.stub!(:project).and_return(GitReport::Project.new(@repo.path))
9
9
  @project = GitReport::Project.new(@repo.path)
10
10
  @commit = GitReport::Commit.new(@project.log.first)
11
+ # TODO: better stub please
12
+ class DummyStorage
13
+ def self.load
14
+ ["stored_commit"]
15
+ end
16
+
17
+ def self.save! options
18
+ true
19
+ end
20
+ end
11
21
  end
12
22
 
13
23
  describe '#send!' do
14
24
  it 'should send last and stored commits when called with :last_and_stored' do
15
- # TODO: better stub please
16
- class DummyStorage
17
- def self.load
18
- ["stored_commit"]
19
- end
20
-
21
- def self.save! options
22
- true
23
- end
24
- end
25
-
26
25
  GitReport::Supplier.stub!(:storage).and_return DummyStorage
27
26
  GitReport::Sender.should_receive(:send_data!).twice.and_return(true)
28
27
 
@@ -62,14 +61,91 @@ describe 'GitReport::Sender' do
62
61
  GitReport::Sender.send! :history
63
62
  end
64
63
 
65
- it 'should send a single commit to the server'
66
- it 'should send two commits to the server if two commits are in the pipe'
67
- it 'should store one commit in case of a connection error'
68
- it 'should store one commit in case of a server timeout'
69
- it 'should store one commit in case of a response other than 200'
70
- it 'should store two commits in case of a connection error'
71
- it 'should store two commits in case of a server timeout'
72
- it 'should store two commits in case of a response other than 200'
64
+ it 'should send a single commit to the server if no stored ones are available' do
65
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
66
+ GitReport::Supplier.stub!(:stored_commits).and_return(nil)
67
+
68
+ GitReport::Sender.should_receive(:send_data!).once.and_return(true)
69
+ GitReport::Sender.send! :last_and_stored
70
+ end
71
+
72
+ it 'should send two commits to the server if two commits are in the pipe' do
73
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
74
+ GitReport::Supplier.stub!(:stored_commits).and_return(["stored_commit"])
75
+
76
+ GitReport::Sender.should_receive(:send_data!).twice.and_return(true)
77
+ GitReport::Sender.send! :last_and_stored
78
+ end
79
+
80
+ it 'should store the recent commit in case of a connection error' do
81
+ stub_request(:post, "http://api.gitreport.com/v1/commits").to_raise(Errno::ECONNREFUSED.new)
82
+ GitReport::Sender.stub!(:puts)
83
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
84
+ GitReport::Supplier.stub!(:recent_commit).and_return("recent_commit")
85
+ GitReport::Sender.stub!(:storage).and_return(@storage = Class.new)
86
+
87
+ @storage.should_receive(:save!).with(["recent_commit"]).once
88
+ GitReport::Sender.send! :last_and_stored
89
+ end
90
+
91
+ it 'should store one commit in case of a server timeout' do
92
+ stub_request(:post, "http://api.gitreport.com/v1/commits").to_timeout
93
+ GitReport::Sender.stub!(:puts)
94
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
95
+ GitReport::Supplier.stub!(:recent_commit).and_return("recent_commit")
96
+ GitReport::Sender.stub!(:storage).and_return(@storage = Class.new)
97
+
98
+ @storage.should_receive(:save!).with(["recent_commit"]).once
99
+ GitReport::Sender.send! :last_and_stored
100
+ end
101
+
102
+ it 'should store one commit in case of a response other than 200' do
103
+ stub_request(:post, "http://api.gitreport.com/v1/commits").to_raise(StandardError.new("some error"))
104
+ GitReport::Sender.stub!(:puts)
105
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
106
+ GitReport::Supplier.stub!(:recent_commit).and_return("recent_commit")
107
+ GitReport::Sender.stub!(:storage).and_return(@storage = Class.new)
108
+
109
+ @storage.should_receive(:save!).with(["recent_commit"]).once
110
+ GitReport::Sender.send! :last_and_stored
111
+ end
112
+
113
+ it 'should store recent and stored commit in case of a connection error' do
114
+ stub_request(:post, "http://api.gitreport.com/v1/commits").to_raise(Errno::ECONNREFUSED.new)
115
+ GitReport::Sender.stub!(:puts)
116
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
117
+ GitReport::Supplier.stub!(:recent_commit).and_return("recent_commit")
118
+ GitReport::Supplier.stub!(:stored_commits).and_return(["stored_commit"])
119
+ GitReport::Sender.stub!(:storage).and_return(@storage = Class.new)
120
+
121
+ @storage.should_receive(:save!).with(["stored_commit","recent_commit"]).once
122
+ GitReport::Sender.send! :last_and_stored
123
+ end
124
+
125
+ it 'should store recent and stored commit in case of a server timeout' do
126
+ stub_request(:post, "http://api.gitreport.com/v1/commits").to_timeout
127
+ GitReport::Sender.stub!(:puts)
128
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
129
+ GitReport::Supplier.stub!(:recent_commit).and_return("recent_commit")
130
+ GitReport::Supplier.stub!(:stored_commits).and_return(["stored_commit"])
131
+ GitReport::Sender.stub!(:storage).and_return(@storage = Class.new)
132
+
133
+ @storage.should_receive(:save!).with(["stored_commit","recent_commit"]).once
134
+ GitReport::Sender.send! :last_and_stored
135
+ end
136
+
137
+ it 'should store recent and stored commit in case of a response other than 200' do
138
+ stub_request(:post, "http://api.gitreport.com/v1/commits").to_raise(StandardError.new("some error"))
139
+ GitReport::Sender.stub!(:puts)
140
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
141
+ GitReport::Supplier.stub!(:recent_commit).and_return("recent_commit")
142
+ GitReport::Supplier.stub!(:stored_commits).and_return(["stored_commit"])
143
+ GitReport::Sender.stub!(:storage).and_return(@storage = Class.new)
144
+
145
+ @storage.should_receive(:save!).with(["stored_commit","recent_commit"]).once
146
+ GitReport::Sender.send! :last_and_stored
147
+ end
148
+
73
149
  end
74
150
 
75
151
  end
@@ -11,9 +11,34 @@ describe 'GitReport::Supplier' do
11
11
  end
12
12
 
13
13
  describe '#commits!' do
14
- it 'should return last and stored commits if called with :last_and_stored'
15
- it 'should return stored commits if called with :stored'
16
- it 'should return the whole history if called with history'
14
+
15
+ it 'should return last and stored commits if called with :last_and_stored' do
16
+ GitReport::Supplier.send(:class_variable_set, :@@all_commits, nil)
17
+ GitReport::Supplier.stub!(:stored_commits).and_return([GitReport::Commit.new(@project.log.commits.first)])
18
+ commits = GitReport::Supplier.commits(:last_and_stored)
19
+
20
+ commits.count.should == 2
21
+ commits.map(&:sha).include?(@project.log.commits.first.sha)
22
+ commits.map(&:sha).include?(@project.log.commits.last.sha)
23
+ end
24
+
25
+ it 'should return stored commits if called with :stored' do
26
+ GitReport::Supplier.stub!(:stored_commits).and_return([GitReport::Commit.new(@project.log.commits.first)])
27
+ commits = GitReport::Supplier.commits(:stored)
28
+
29
+ commits.count.should == 1
30
+ commits.map(&:sha).include?(@project.log.commits.first.sha)
31
+ end
32
+
33
+ it 'should return the whole history if called with history' do
34
+ commits = GitReport::Supplier.commits(:history)
35
+
36
+ commits.count.should == 3
37
+ commits.each do |commit|
38
+ @project.revlist.include?(commit.sha).should be_true
39
+ end
40
+ end
41
+
17
42
  end
18
43
 
19
44
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ require 'rubygems'
5
+ require 'spork'
3
6
  require 'rspec'
4
7
  require 'gitreport'
5
8
  require 'webmock/rspec'
@@ -8,7 +11,19 @@ require 'webmock/rspec'
8
11
  # in ./support/ and its subdirectories.
9
12
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
13
 
11
- RSpec.configure do |config|
12
- config.color_enabled = true
13
- # config.mock_with :rspec
14
+ Spork.prefork do
15
+ # ...
16
+ RSpec.configure do |config|
17
+ # ...
18
+ # config.mock_with :rspec
19
+ config.color_enabled = true
20
+ config.treat_symbols_as_metadata_keys_with_true_values = true
21
+ config.filter_run :focus => true
22
+ config.run_all_when_everything_filtered = true
23
+ end
24
+ end
25
+
26
+ Spork.each_run do
27
+ # This code will be run each time you run your specs.
14
28
  end
29
+
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitreport
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease:
4
+ hash: 27
5
+ prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ segments_generated: true
11
+ version: 0.0.2
11
12
  platform: ruby
12
13
  authors:
13
14
  - Jan Roesner
@@ -15,10 +16,12 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2011-10-02 00:00:00 Z
19
+ date: 2011-10-14 00:00:00 +02:00
20
+ default_executable: gitreport
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
21
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ type: :runtime
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
25
  none: false
23
26
  requirements:
24
27
  - - ">="
@@ -26,13 +29,14 @@ dependencies:
26
29
  hash: 3
27
30
  segments:
28
31
  - 0
32
+ segments_generated: true
29
33
  version: "0"
30
- version_requirements: *id001
31
- name: json
32
34
  prerelease: false
33
- type: :runtime
35
+ name: json
36
+ requirement: *id001
34
37
  - !ruby/object:Gem::Dependency
35
- requirement: &id002 !ruby/object:Gem::Requirement
38
+ type: :runtime
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
36
40
  none: false
37
41
  requirements:
38
42
  - - ~>
@@ -42,27 +46,32 @@ dependencies:
42
46
  - 1
43
47
  - 2
44
48
  - 5
49
+ segments_generated: true
45
50
  version: 1.2.5
46
- version_requirements: *id002
47
- name: git
48
51
  prerelease: false
49
- type: :runtime
52
+ name: git
53
+ requirement: *id002
50
54
  - !ruby/object:Gem::Dependency
51
- requirement: &id003 !ruby/object:Gem::Requirement
55
+ type: :development
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
57
  none: false
53
58
  requirements:
54
- - - ">="
59
+ - - ">"
55
60
  - !ruby/object:Gem::Version
56
- hash: 3
61
+ hash: 7712082
57
62
  segments:
58
63
  - 0
59
- version: "0"
60
- version_requirements: *id003
61
- name: ruby-debug
64
+ - 9
65
+ - 0
66
+ - rc
67
+ segments_generated: true
68
+ version: 0.9.0.rc
62
69
  prerelease: false
63
- type: :development
70
+ name: spork
71
+ requirement: *id003
64
72
  - !ruby/object:Gem::Dependency
65
- requirement: &id004 !ruby/object:Gem::Requirement
73
+ type: :development
74
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
75
  none: false
67
76
  requirements:
68
77
  - - ">="
@@ -70,13 +79,14 @@ dependencies:
70
79
  hash: 3
71
80
  segments:
72
81
  - 0
82
+ segments_generated: true
73
83
  version: "0"
74
- version_requirements: *id004
75
- name: rspec
76
84
  prerelease: false
77
- type: :development
85
+ name: rspec
86
+ requirement: *id004
78
87
  - !ruby/object:Gem::Dependency
79
- requirement: &id005 !ruby/object:Gem::Requirement
88
+ type: :development
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
80
90
  none: false
81
91
  requirements:
82
92
  - - ">="
@@ -84,13 +94,14 @@ dependencies:
84
94
  hash: 3
85
95
  segments:
86
96
  - 0
97
+ segments_generated: true
87
98
  version: "0"
88
- version_requirements: *id005
89
- name: webmock
90
99
  prerelease: false
91
- type: :development
100
+ name: webmock
101
+ requirement: *id005
92
102
  - !ruby/object:Gem::Dependency
93
- requirement: &id006 !ruby/object:Gem::Requirement
103
+ type: :development
104
+ version_requirements: &id006 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ">="
@@ -98,13 +109,14 @@ dependencies:
98
109
  hash: 3
99
110
  segments:
100
111
  - 0
112
+ segments_generated: true
101
113
  version: "0"
102
- version_requirements: *id006
103
- name: shoulda
104
114
  prerelease: false
105
- type: :development
115
+ name: shoulda
116
+ requirement: *id006
106
117
  - !ruby/object:Gem::Dependency
107
- requirement: &id007 !ruby/object:Gem::Requirement
118
+ type: :development
119
+ version_requirements: &id007 !ruby/object:Gem::Requirement
108
120
  none: false
109
121
  requirements:
110
122
  - - ~>
@@ -114,13 +126,14 @@ dependencies:
114
126
  - 1
115
127
  - 0
116
128
  - 0
129
+ segments_generated: true
117
130
  version: 1.0.0
118
- version_requirements: *id007
119
- name: bundler
120
131
  prerelease: false
121
- type: :development
132
+ name: bundler
133
+ requirement: *id007
122
134
  - !ruby/object:Gem::Dependency
123
- requirement: &id008 !ruby/object:Gem::Requirement
135
+ type: :development
136
+ version_requirements: &id008 !ruby/object:Gem::Requirement
124
137
  none: false
125
138
  requirements:
126
139
  - - ~>
@@ -130,13 +143,14 @@ dependencies:
130
143
  - 1
131
144
  - 6
132
145
  - 4
146
+ segments_generated: true
133
147
  version: 1.6.4
134
- version_requirements: *id008
135
- name: jeweler
136
148
  prerelease: false
137
- type: :development
149
+ name: jeweler
150
+ requirement: *id008
138
151
  - !ruby/object:Gem::Dependency
139
- requirement: &id009 !ruby/object:Gem::Requirement
152
+ type: :development
153
+ version_requirements: &id009 !ruby/object:Gem::Requirement
140
154
  none: false
141
155
  requirements:
142
156
  - - ">="
@@ -144,11 +158,11 @@ dependencies:
144
158
  hash: 3
145
159
  segments:
146
160
  - 0
161
+ segments_generated: true
147
162
  version: "0"
148
- version_requirements: *id009
149
- name: rcov
150
163
  prerelease: false
151
- type: :development
164
+ name: rcov
165
+ requirement: *id009
152
166
  description: gitreport keeps track of your projects. It collects info about commited and pushed data, submits it to our servers and provides a gorgous frontend to examine, discover and extract the data that you need to generate the payment recipes for your customers. No longer searching or `what did I commit when and where`...
153
167
  email: jan@roesner.it
154
168
  executables:
@@ -197,6 +211,7 @@ files:
197
211
  - spec/models/supplier_spec.rb
198
212
  - spec/spec_helper.rb
199
213
  - spec/support/fake_repository.rb
214
+ has_rdoc: true
200
215
  homepage: http://github.com/janroesner/gitreport
201
216
  licenses:
202
217
  - MIT
@@ -213,6 +228,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
228
  hash: 3
214
229
  segments:
215
230
  - 0
231
+ segments_generated: true
216
232
  version: "0"
217
233
  required_rubygems_version: !ruby/object:Gem::Requirement
218
234
  none: false
@@ -222,11 +238,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
238
  hash: 3
223
239
  segments:
224
240
  - 0
241
+ segments_generated: true
225
242
  version: "0"
226
243
  requirements: []
227
244
 
228
245
  rubyforge_project:
229
- rubygems_version: 1.8.10
246
+ rubygems_version: 1.3.7
230
247
  signing_key:
231
248
  specification_version: 3
232
249
  summary: gitreport tracks commit and push info of your git projects