gitreport 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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