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 +2 -1
- data/Gemfile.lock +2 -10
- data/VERSION +1 -1
- data/gitreport.gemspec +13 -11
- data/lib/commit.rb +19 -7
- data/lib/git_configuration.rb +2 -2
- data/spec/models/batch_sender_spec.rb +7 -1
- data/spec/models/commit_spec.rb +15 -9
- data/spec/models/sender_spec.rb +95 -19
- data/spec/models/supplier_spec.rb +28 -3
- data/spec/spec_helper.rb +18 -3
- metadata +62 -45
data/Gemfile
CHANGED
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
|
+
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 =
|
8
|
-
s.version = "0.0.
|
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 =
|
13
|
-
s.
|
14
|
-
s.
|
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 =
|
61
|
+
s.homepage = %q{http://github.com/janroesner/gitreport}
|
61
62
|
s.licenses = ["MIT"]
|
62
63
|
s.require_paths = ["lib"]
|
63
|
-
s.rubygems_version =
|
64
|
-
s.summary =
|
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<
|
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<
|
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<
|
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
|
-
|
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
|
-
|
25
|
+
@commit.message
|
26
26
|
end
|
27
27
|
|
28
28
|
# returns the time when self was committed
|
29
29
|
def time
|
30
|
-
Time.parse(
|
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 =
|
37
|
-
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
|
-
|
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
|
data/lib/git_configuration.rb
CHANGED
@@ -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
|
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
|
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
|
data/spec/models/commit_spec.rb
CHANGED
@@ -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.
|
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.
|
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.
|
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.
|
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 == "
|
41
|
-
@commit.author.email.should == "
|
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 ==
|
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 ==
|
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
|
data/spec/models/sender_spec.rb
CHANGED
@@ -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
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
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
|
-
|
15
|
-
it 'should return stored commits if called with :
|
16
|
-
|
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
|
-
|
12
|
-
|
13
|
-
|
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:
|
5
|
-
prerelease:
|
4
|
+
hash: 27
|
5
|
+
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
|
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-
|
19
|
+
date: 2011-10-14 00:00:00 +02:00
|
20
|
+
default_executable: gitreport
|
19
21
|
dependencies:
|
20
22
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
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
|
-
|
35
|
+
name: json
|
36
|
+
requirement: *id001
|
34
37
|
- !ruby/object:Gem::Dependency
|
35
|
-
|
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
|
-
|
52
|
+
name: git
|
53
|
+
requirement: *id002
|
50
54
|
- !ruby/object:Gem::Dependency
|
51
|
-
|
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:
|
61
|
+
hash: 7712082
|
57
62
|
segments:
|
58
63
|
- 0
|
59
|
-
|
60
|
-
|
61
|
-
|
64
|
+
- 9
|
65
|
+
- 0
|
66
|
+
- rc
|
67
|
+
segments_generated: true
|
68
|
+
version: 0.9.0.rc
|
62
69
|
prerelease: false
|
63
|
-
|
70
|
+
name: spork
|
71
|
+
requirement: *id003
|
64
72
|
- !ruby/object:Gem::Dependency
|
65
|
-
|
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
|
-
|
85
|
+
name: rspec
|
86
|
+
requirement: *id004
|
78
87
|
- !ruby/object:Gem::Dependency
|
79
|
-
|
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
|
-
|
100
|
+
name: webmock
|
101
|
+
requirement: *id005
|
92
102
|
- !ruby/object:Gem::Dependency
|
93
|
-
|
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
|
-
|
115
|
+
name: shoulda
|
116
|
+
requirement: *id006
|
106
117
|
- !ruby/object:Gem::Dependency
|
107
|
-
|
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
|
-
|
132
|
+
name: bundler
|
133
|
+
requirement: *id007
|
122
134
|
- !ruby/object:Gem::Dependency
|
123
|
-
|
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
|
-
|
149
|
+
name: jeweler
|
150
|
+
requirement: *id008
|
138
151
|
- !ruby/object:Gem::Dependency
|
139
|
-
|
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
|
-
|
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.
|
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
|