gitreport 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/bin/gitreport +4 -4
- data/gitreport.gemspec +4 -3
- data/lib/batch_sender.rb +5 -46
- data/lib/commit.rb +1 -1
- data/lib/{logger.rb → g_logger.rb} +2 -2
- data/lib/generic_sender.rb +44 -0
- data/lib/gitreport.rb +4 -1
- data/lib/hook.rb +5 -5
- data/lib/sender.rb +5 -50
- data/spec/models/commit_spec.rb +2 -2
- data/spec/models/hook_spec.rb +3 -3
- metadata +21 -20
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.8
|
data/bin/gitreport
CHANGED
@@ -5,7 +5,7 @@ require "rubygems"
|
|
5
5
|
require 'trollop'
|
6
6
|
require "gitreport"
|
7
7
|
|
8
|
-
SUB_COMMANDS = %w(activate deactivate commit sync
|
8
|
+
SUB_COMMANDS = %w(activate deactivate commit sync import)
|
9
9
|
|
10
10
|
def parse_options
|
11
11
|
|
@@ -15,7 +15,7 @@ gitreport is a commandline tool to synchronize your git repo's with gitreport.co
|
|
15
15
|
|
16
16
|
Usage: gitreport <subcommand> [options]
|
17
17
|
|
18
|
-
<subcommand> must be one of activate, deactivate, commit, sync,
|
18
|
+
<subcommand> must be one of activate, deactivate, commit, sync, import
|
19
19
|
|
20
20
|
Examples:
|
21
21
|
|
@@ -23,7 +23,7 @@ gitreport activate - register your project with gitreport.com
|
|
23
23
|
gitreport deactivate - unregister your project from gitreport.com
|
24
24
|
gitreport commit - manually transfer your last and stored (offline) commits to gitreport.com
|
25
25
|
gitreport sync - manually transfer stored (offline) commits to gitreport.com
|
26
|
-
gitreport
|
26
|
+
gitreport import - import all the commits of a project to gitreport.com
|
27
27
|
|
28
28
|
gitreport allows the folling [options]:
|
29
29
|
EOS
|
@@ -48,7 +48,7 @@ gitreport allows the folling [options]:
|
|
48
48
|
GitReport::Sender.send! :last_and_stored
|
49
49
|
when "sync"
|
50
50
|
GitReport::Sender.send! :stored
|
51
|
-
when "
|
51
|
+
when "import"
|
52
52
|
GitReport::BatchSender.send! :history
|
53
53
|
else
|
54
54
|
Trollop::die "unknown subcommand #{cmd.inspect}"
|
data/gitreport.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "gitreport"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.8"
|
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-
|
12
|
+
s.date = "2011-10-28"
|
13
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
14
|
s.email = "jan@roesner.it"
|
15
15
|
s.executables = ["gitreport"]
|
@@ -31,6 +31,8 @@ Gem::Specification.new do |s|
|
|
31
31
|
"lib/commit.rb",
|
32
32
|
"lib/configuration.rb",
|
33
33
|
"lib/current_branch.rb",
|
34
|
+
"lib/g_logger.rb",
|
35
|
+
"lib/generic_sender.rb",
|
34
36
|
"lib/git.rb",
|
35
37
|
"lib/git/author.rb",
|
36
38
|
"lib/git/base.rb",
|
@@ -53,7 +55,6 @@ Gem::Specification.new do |s|
|
|
53
55
|
"lib/history.rb",
|
54
56
|
"lib/hook.rb",
|
55
57
|
"lib/log.rb",
|
56
|
-
"lib/logger.rb",
|
57
58
|
"lib/project.rb",
|
58
59
|
"lib/sender.rb",
|
59
60
|
"lib/storage.rb",
|
data/lib/batch_sender.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module GitReport
|
2
2
|
|
3
|
-
class BatchSender
|
3
|
+
class BatchSender < GenericSender
|
4
4
|
|
5
5
|
# send the given commits chunked
|
6
6
|
def self.send! option = nil
|
@@ -36,6 +36,7 @@ module GitReport
|
|
36
36
|
|
37
37
|
# sends the commit batch data to the server
|
38
38
|
def self.send_data! batch, options = nil
|
39
|
+
grlog(1, 'send_data started')
|
39
40
|
begin
|
40
41
|
response = Net::HTTP.Proxy(configuration.proxy_host, configuration.proxy_port).start(configuration.host, configuration.port) do |http|
|
41
42
|
request = Net::HTTP::Post.new(request_path options)
|
@@ -45,40 +46,11 @@ module GitReport
|
|
45
46
|
http.read_timeout = configuration.timeout
|
46
47
|
http.request request unless GitReport.global_opts[:dry_run]
|
47
48
|
end
|
49
|
+
grlog(1, response ? "send_data responded with #{response.code}" : "send_data had no response")
|
48
50
|
raise GitReport::ServerError unless (response.code == "200" or response.code == "401") unless GitReport.global_opts[:dry_run]
|
49
51
|
rescue Exception => e
|
50
|
-
|
51
|
-
|
52
|
-
if GitReport.global_opts[:trace]
|
53
|
-
puts "Exception: #{e}\n"
|
54
|
-
puts "Message: #{JSON.parse(response.body)["message"]}\n"
|
55
|
-
else
|
56
|
-
puts "Run with --trace to get more info."
|
57
|
-
end
|
58
|
-
grlog(0 ,'send_data! - A server error occured during data transfer.')
|
59
|
-
grlog(0, "send_data! - Exception: #{e}")
|
60
|
-
grlog(0, "send_data! - Message: #{JSON.parse(response.body)["message"]}") if response
|
61
|
-
exit
|
62
|
-
else
|
63
|
-
puts "A client error occured during data transfer."
|
64
|
-
if GitReport.global_opts[:trace]
|
65
|
-
puts "Exception: #{e}\n"
|
66
|
-
e.backtrace.each do |line|
|
67
|
-
puts "#{line}\n"
|
68
|
-
end
|
69
|
-
else
|
70
|
-
puts "Run with --trace to get more info."
|
71
|
-
end
|
72
|
-
grlog(0, "send_data! - A client error occures during data transfer.")
|
73
|
-
grlog(0, "send_data! - Exception: #{e}")
|
74
|
-
grlog(0, "send_data! - Backtrace:")
|
75
|
-
e.backtrace.each do |line|
|
76
|
-
grlog(0, line)
|
77
|
-
end
|
78
|
-
exit
|
79
|
-
end
|
80
|
-
|
81
|
-
return false
|
52
|
+
communicate e, response
|
53
|
+
exit
|
82
54
|
end
|
83
55
|
|
84
56
|
true
|
@@ -93,24 +65,11 @@ module GitReport
|
|
93
65
|
}.to_json
|
94
66
|
end
|
95
67
|
|
96
|
-
# returns configuration object
|
97
|
-
def self.configuration
|
98
|
-
@@configuration ||= GitReport.configuration
|
99
|
-
end
|
100
|
-
|
101
68
|
# returns the request path
|
102
69
|
def self.request_path options
|
103
70
|
@@path ||= "/v#{configuration.api_version}/projects"
|
104
71
|
end
|
105
72
|
|
106
|
-
# returns the default headers
|
107
|
-
def self.headers request
|
108
|
-
request['User-Agent'] = 'gitreport-client-ruby'
|
109
|
-
request['Content-Type'] = 'application/json'
|
110
|
-
request['Accept'] = 'application/json'
|
111
|
-
request['X-gitreport-Auth-Token'] = configuration.auth_token
|
112
|
-
end
|
113
|
-
|
114
73
|
end
|
115
74
|
|
116
75
|
end
|
data/lib/commit.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module GitReport
|
2
2
|
|
3
|
-
class
|
3
|
+
class GLogger
|
4
4
|
|
5
5
|
# logs the given message in case the given level is less or equal the configured log level
|
6
6
|
def self.log level, message
|
@@ -13,7 +13,7 @@ module GitReport
|
|
13
13
|
# provides method grlog in every class
|
14
14
|
class << self.superclass
|
15
15
|
def grlog level, message
|
16
|
-
::GitReport::
|
16
|
+
::GitReport::GLogger.log level, Time.now.to_s + " - " + self.to_s + " #" + message
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -0,0 +1,44 @@
|
|
1
|
+
class GenericSender
|
2
|
+
|
3
|
+
# logs and puts the error according to its conditions and configuration
|
4
|
+
# TODO refactor me!
|
5
|
+
def self.communicate exception, response
|
6
|
+
both, cmd, log = [], [], []
|
7
|
+
if exception.is_a?(GitReport::ServerError)
|
8
|
+
@error_type = "server error"
|
9
|
+
@details = JSON.parse(response.body)["message"] rescue response.body
|
10
|
+
else
|
11
|
+
@error_type = "client error"
|
12
|
+
@details = exception.backtrace
|
13
|
+
end
|
14
|
+
both << "A #{@error_type} occured during data transfer."
|
15
|
+
both << "Exception: #{exception}"
|
16
|
+
if GitReport.global_opts[:trace]
|
17
|
+
cmd << @details
|
18
|
+
else
|
19
|
+
cmd << "Run with --trace to get more info."
|
20
|
+
end
|
21
|
+
log << @details
|
22
|
+
puts (both + cmd).join("\n")
|
23
|
+
(both + log).each{ |line| grlog(0, "send_data! #{line}")}
|
24
|
+
end
|
25
|
+
|
26
|
+
# returns local storage
|
27
|
+
def self.storage
|
28
|
+
@@storage ||= GitReport::Storage.new(ENV['HOME'], '.gitreport_storage')
|
29
|
+
end
|
30
|
+
|
31
|
+
# returns configuration object
|
32
|
+
def self.configuration
|
33
|
+
@@configuration ||= GitReport.configuration
|
34
|
+
end
|
35
|
+
|
36
|
+
# returns the default headers
|
37
|
+
def self.headers request
|
38
|
+
request['User-Agent'] = 'gitreport-client-ruby'
|
39
|
+
request['Content-Type'] = 'application/json'
|
40
|
+
request['Accept'] = 'application/json'
|
41
|
+
request['X-gitreport-Auth-Token'] = configuration.auth_token
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
data/lib/gitreport.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'g_logger'
|
2
2
|
require 'git'
|
3
3
|
require 'json'
|
4
4
|
require 'net/http'
|
@@ -11,6 +11,7 @@ require 'commit'
|
|
11
11
|
require 'history'
|
12
12
|
require 'configuration'
|
13
13
|
require 'git_configuration'
|
14
|
+
require 'generic_sender'
|
14
15
|
require 'sender'
|
15
16
|
require 'batch_sender'
|
16
17
|
require 'storage'
|
@@ -19,6 +20,8 @@ require 'supplier'
|
|
19
20
|
|
20
21
|
module GitReport
|
21
22
|
|
23
|
+
@@global_opts ||= nil
|
24
|
+
|
22
25
|
class ServerError < StandardError;end
|
23
26
|
|
24
27
|
# mattr_reader
|
data/lib/hook.rb
CHANGED
@@ -54,7 +54,7 @@ module GitReport
|
|
54
54
|
|
55
55
|
# returns true if the hook file already has a hook line in
|
56
56
|
def self.line_exists?
|
57
|
-
if file_content.match(/
|
57
|
+
if file_content.match(/nohup\sbundle\sexec\sgitreport\scommit\s>\s\/dev\/null\s2>\s\/dev\/null\s<\s\/dev\/null\s&/)
|
58
58
|
return true
|
59
59
|
end
|
60
60
|
|
@@ -76,7 +76,7 @@ module GitReport
|
|
76
76
|
"#!/bin/sh\n" +
|
77
77
|
"# This is a post-commit hook created by gitreport (http://gitreport.com)\n" +
|
78
78
|
"#\n" +
|
79
|
-
"# To remove it issue 'bundle exec
|
79
|
+
"# To remove it issue 'bundle exec deactivate' in the projects main directory\n" +
|
80
80
|
"# In case the gitreport gem is not installed anymore, simply remove this hook file\n" +
|
81
81
|
"#\n" +
|
82
82
|
"# Be aware of other post commit hooks that my be mentioned here!\n"
|
@@ -84,7 +84,7 @@ module GitReport
|
|
84
84
|
|
85
85
|
# returns the line to activate gitreport via post commit hook
|
86
86
|
def self.line
|
87
|
-
"\
|
87
|
+
"\nnohup bundle exec gitreport commit > /dev/null 2> /dev/null < /dev/null &\n"
|
88
88
|
end
|
89
89
|
|
90
90
|
# removes the hook
|
@@ -105,7 +105,7 @@ module GitReport
|
|
105
105
|
|
106
106
|
# returns true if the hook file is ours and was not changed
|
107
107
|
def self.hook_file_unchanged?
|
108
|
-
Digest::SHA1.hexdigest(file_content) == "
|
108
|
+
Digest::SHA1.hexdigest(file_content) == "e4032a91bb8e07e09ea637c803d8763e26e165e7"
|
109
109
|
end
|
110
110
|
|
111
111
|
# removes our hook line from hook file
|
@@ -115,7 +115,7 @@ module GitReport
|
|
115
115
|
|
116
116
|
# removes our hook line from given content
|
117
117
|
def self.clean_up content
|
118
|
-
content.gsub(/\
|
118
|
+
content.gsub(/\nnohup\sbundle\sexec\sgitreport\scommit\s>\s\/dev\/null\s2>\s\/dev\/null\s<\s\/dev\/null\s&\n/,'')
|
119
119
|
end
|
120
120
|
|
121
121
|
end
|
data/lib/sender.rb
CHANGED
@@ -1,27 +1,13 @@
|
|
1
1
|
module GitReport
|
2
2
|
|
3
|
-
class Sender
|
3
|
+
class Sender < GenericSender
|
4
4
|
|
5
5
|
# sends or saves the commits
|
6
6
|
def self.send! options = nil
|
7
7
|
begin
|
8
8
|
commits = GitReport::Supplier.commits(options)
|
9
9
|
rescue Exception => e
|
10
|
-
|
11
|
-
if GitReport.global_opts[:trace]
|
12
|
-
puts "Exception: #{e}\n"
|
13
|
-
e.backtrace.each do |line|
|
14
|
-
puts "#{line}\n"
|
15
|
-
end
|
16
|
-
else
|
17
|
-
puts "Run with --trace to get more info."
|
18
|
-
end
|
19
|
-
grlog(0, "send! - A client error occures during data transfer.")
|
20
|
-
grlog(0, "send! - Exception: #{e}")
|
21
|
-
grlog(0, "send! - Backtrace:")
|
22
|
-
e.backtrace.each do |line|
|
23
|
-
grlog(0, line)
|
24
|
-
end
|
10
|
+
communicate e, nil
|
25
11
|
exit
|
26
12
|
end
|
27
13
|
|
@@ -37,6 +23,7 @@ module GitReport
|
|
37
23
|
|
38
24
|
# sends the commit data to the server
|
39
25
|
def self.send_data! commit, options = nil
|
26
|
+
grlog(1, 'send_data started')
|
40
27
|
begin
|
41
28
|
response = Net::HTTP.Proxy(configuration.proxy_host, configuration.proxy_port).start(configuration.host, configuration.port) do |http|
|
42
29
|
request = Net::HTTP::Post.new(request_path options)
|
@@ -46,53 +33,21 @@ module GitReport
|
|
46
33
|
http.read_timeout = configuration.timeout
|
47
34
|
http.request request unless GitReport.global_opts[:dry_run]
|
48
35
|
end
|
36
|
+
grlog(1, response ? "send_data responded with #{response.code}" : "send_data had no response")
|
49
37
|
raise GitReport::ServerError unless (response.code == "201" or response.code == "401") unless GitReport.global_opts[:dry_run]
|
50
38
|
rescue Exception => e
|
51
|
-
|
52
|
-
puts "A server error occured during data transfer."
|
53
|
-
if GitReport.global_opts[:trace]
|
54
|
-
puts "Exception: #{e}\n"
|
55
|
-
puts "Message: #{JSON.parse(response.body)["message"]}\n"
|
56
|
-
else
|
57
|
-
puts "Run with --trace to get more info."
|
58
|
-
end
|
59
|
-
else
|
60
|
-
puts "A client error occured during data transfer."
|
61
|
-
puts "Exception: #{e}\n"
|
62
|
-
end
|
63
|
-
grlog(0 ,'send_data! - A server error occured during data transfer.')
|
64
|
-
grlog(0, "send_data! - Exception: #{e}")
|
65
|
-
grlog(0, "send_data! - Message: #{JSON.parse(response.body)["message"]}") if response
|
66
|
-
|
39
|
+
communicate e, response
|
67
40
|
return false
|
68
41
|
end
|
69
42
|
|
70
43
|
true
|
71
44
|
end
|
72
45
|
|
73
|
-
# returns local storage
|
74
|
-
def self.storage
|
75
|
-
@@storage ||= GitReport::Storage.new(ENV['HOME'], '.gitreport_storage')
|
76
|
-
end
|
77
|
-
|
78
|
-
# returns configuration object
|
79
|
-
def self.configuration
|
80
|
-
@@configuration ||= GitReport.configuration
|
81
|
-
end
|
82
|
-
|
83
46
|
# returns the request path
|
84
47
|
def self.request_path options
|
85
48
|
@@path ||= "/v#{configuration.api_version}/commits"
|
86
49
|
end
|
87
50
|
|
88
|
-
# returns the default headers
|
89
|
-
def self.headers request
|
90
|
-
request['User-Agent'] = 'gitreport-client-ruby'
|
91
|
-
request['Content-Type'] = 'application/json'
|
92
|
-
request['Accept'] = 'application/json'
|
93
|
-
request['X-gitreport-Auth-Token'] = configuration.auth_token
|
94
|
-
end
|
95
|
-
|
96
51
|
end
|
97
52
|
|
98
53
|
end
|
data/spec/models/commit_spec.rb
CHANGED
@@ -45,10 +45,10 @@ describe 'GitReport::Commit' do
|
|
45
45
|
describe '#stats' do
|
46
46
|
it 'should return the commit stats' do
|
47
47
|
stats = GitReport::Commit.new(@project.log.commits.first, @project.identifier).stats
|
48
|
-
stats[:deletions].should ==
|
48
|
+
stats[:deletions].should == 0
|
49
49
|
stats[:files].should == 1
|
50
50
|
stats[:lines].should == 1
|
51
|
-
stats[:insertions].should ==
|
51
|
+
stats[:insertions].should == 1
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
data/spec/models/hook_spec.rb
CHANGED
@@ -18,7 +18,7 @@ describe 'GitReport::Hook' do
|
|
18
18
|
(File.exists?(hook_file)).should be_true
|
19
19
|
content = File.open(hook_file, 'r').read
|
20
20
|
|
21
|
-
content.match(/\
|
21
|
+
content.match(/\nnohup\sbundle\sexec\sgitreport\scommit\s>\s\/dev\/null\s2>\s\/dev\/null\s<\s\/dev\/null\s&\n/).should be_true
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should insert the gitreport hook into an existing post-commit hook file' do
|
@@ -30,7 +30,7 @@ describe 'GitReport::Hook' do
|
|
30
30
|
|
31
31
|
GitReport::Hook.set!
|
32
32
|
content = File.open(hook_file, 'r').read
|
33
|
-
content.match(/\
|
33
|
+
content.match(/\nnohup\sbundle\sexec\sgitreport\scommit\s>\s\/dev\/null\s2>\s\/dev\/null\s<\s\/dev\/null\s&\n/).should be_true
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -57,7 +57,7 @@ describe 'GitReport::Hook' do
|
|
57
57
|
(File.exists?(hook_file)).should be_true
|
58
58
|
content = File.open(hook_file, 'r').read
|
59
59
|
content.should match(/\ssome\spreexisting\shook\sfile\n/)
|
60
|
-
content.should_not match(/\
|
60
|
+
content.should_not match(/\nnohup\sbundle\sexec\sgitreport\scommit\s>\s\/dev\/null\s2>\s\/dev\/null\s<\s\/dev\/null\s&\n/)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitreport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-28 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement: &
|
16
|
+
requirement: &70284346535700 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70284346535700
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: spork
|
27
|
-
requirement: &
|
27
|
+
requirement: &70284346531340 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>'
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.9.0.rc
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70284346531340
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70284346525880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70284346525880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: webmock
|
49
|
-
requirement: &
|
49
|
+
requirement: &70284346521540 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70284346521540
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: shoulda
|
60
|
-
requirement: &
|
60
|
+
requirement: &70284346518300 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70284346518300
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70284346514400 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.0.0
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70284346514400
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: jeweler
|
82
|
-
requirement: &
|
82
|
+
requirement: &70284346510280 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 1.6.4
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70284346510280
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rcov
|
93
|
-
requirement: &
|
93
|
+
requirement: &70284346504540 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70284346504540
|
102
102
|
description: gitreport keeps track of your projects. It collects info about commited
|
103
103
|
and pushed data, submits it to our servers and provides a gorgous frontend to examine,
|
104
104
|
discover and extract the data that you need to generate the payment recipes for
|
@@ -124,6 +124,8 @@ files:
|
|
124
124
|
- lib/commit.rb
|
125
125
|
- lib/configuration.rb
|
126
126
|
- lib/current_branch.rb
|
127
|
+
- lib/g_logger.rb
|
128
|
+
- lib/generic_sender.rb
|
127
129
|
- lib/git.rb
|
128
130
|
- lib/git/author.rb
|
129
131
|
- lib/git/base.rb
|
@@ -146,7 +148,6 @@ files:
|
|
146
148
|
- lib/history.rb
|
147
149
|
- lib/hook.rb
|
148
150
|
- lib/log.rb
|
149
|
-
- lib/logger.rb
|
150
151
|
- lib/project.rb
|
151
152
|
- lib/sender.rb
|
152
153
|
- lib/storage.rb
|
@@ -182,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
182
183
|
version: '0'
|
183
184
|
segments:
|
184
185
|
- 0
|
185
|
-
hash:
|
186
|
+
hash: 3923250588470254802
|
186
187
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
188
|
none: false
|
188
189
|
requirements:
|