pair_see 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/Gemfile.lock +10 -10
- data/bin/pairsee +2 -2
- data/lib/pair_see/card.rb +16 -14
- data/lib/pair_see/combo.rb +13 -11
- data/lib/pair_see/date_combo.rb +22 -20
- data/lib/pair_see/log_line.rb +43 -41
- data/lib/pair_see/log_lines.rb +36 -34
- data/lib/pair_see/seer.rb +135 -133
- data/lib/pair_see/version.rb +1 -1
- data/lib/pair_see.rb +4 -0
- data/pair_see.gemspec +10 -9
- metadata +39 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91867b4aa809ce97b3d2ebd3c89d4f63bcc4235d
|
4
|
+
data.tar.gz: 810cb42dcf300ae3d17b3fc5de02b130a8a1b865
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb5a8d573a3938fc02cc839d10358b74a09e4016a2bacad1bf9344944626ab218b32bbe64aeb9ecacd89d2efdd79bb153d94d5240ae1d24e73b0c8e15943e70d
|
7
|
+
data.tar.gz: 4589340a27248139639bc0693feb6a395cd5ee5a26d97247e0bf855a64dd809e670edabdc2aa10c1408d1d9d1da22b743e3cdbac9b235127c9db27912c2a1ff3
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -2,9 +2,9 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
pair_see (0.1.0)
|
5
|
-
git
|
6
|
-
trollop
|
7
|
-
yamler
|
5
|
+
git (~> 1.2)
|
6
|
+
trollop (~> 2.0)
|
7
|
+
yamler (~> 0.1)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
@@ -49,17 +49,17 @@ GEM
|
|
49
49
|
multi_json (~> 1.0)
|
50
50
|
simplecov-html (~> 0.9.0)
|
51
51
|
simplecov-html (0.9.0)
|
52
|
-
trollop (2.1.
|
52
|
+
trollop (2.1.2)
|
53
53
|
yamler (0.1.0)
|
54
54
|
|
55
55
|
PLATFORMS
|
56
56
|
ruby
|
57
57
|
|
58
58
|
DEPENDENCIES
|
59
|
-
bundler
|
60
|
-
codeclimate-test-reporter
|
59
|
+
bundler (~> 1.8)
|
60
|
+
codeclimate-test-reporter (~> 0.4.7)
|
61
61
|
pair_see!
|
62
|
-
rake
|
63
|
-
rake_commit
|
64
|
-
rspec
|
65
|
-
rubocop
|
62
|
+
rake (~> 10.4)
|
63
|
+
rake_commit (~> 1.1.0)
|
64
|
+
rspec (~> 3.2)
|
65
|
+
rubocop (~> 0.29)
|
data/bin/pairsee
CHANGED
@@ -15,9 +15,9 @@ opts = Trollop.options do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def run_command(opts)
|
18
|
-
log_lines = LogLines.new(opts[:root], opts[:after])
|
18
|
+
log_lines = PairSee::LogLines.new(opts[:root], opts[:after])
|
19
19
|
|
20
|
-
pair_see = Seer.new(log_lines, opts[:config])
|
20
|
+
pair_see = PairSee::Seer.new(log_lines, opts[:config])
|
21
21
|
if opts[:extras]
|
22
22
|
pair_see.commits_not_by_known_pair
|
23
23
|
elsif opts[:latest]
|
data/lib/pair_see/card.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module PairSee
|
2
|
+
class Card
|
3
|
+
attr_reader :card_name, :number_of_commits
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
def initialize(card_name, number_of_commits, first_date, last_date)
|
6
|
+
@card_name = card_name
|
7
|
+
@number_of_commits = number_of_commits
|
8
|
+
@first_date, @last_date = first_date, last_date
|
9
|
+
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
11
|
+
def duration
|
12
|
+
(@first_date - @last_date).to_i + 1
|
13
|
+
end
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
def ==(other)
|
16
|
+
card_name == other.card_name
|
17
|
+
number_of_commits == other.number_of_commits
|
18
|
+
end
|
19
|
+
end
|
18
20
|
end
|
data/lib/pair_see/combo.rb
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module PairSee
|
2
|
+
class Combo
|
3
|
+
attr_reader :count, :devs
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
def initialize(count, *devs)
|
6
|
+
@count, @devs = count, devs
|
7
|
+
end
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
def to_s
|
10
|
+
"#{devs.join ', '}: #{count}"
|
11
|
+
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
def empty?
|
14
|
+
count == 0
|
15
|
+
end
|
16
|
+
end
|
15
17
|
end
|
data/lib/pair_see/date_combo.rb
CHANGED
@@ -1,27 +1,29 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module PairSee
|
2
|
+
class DateCombo
|
3
|
+
attr_reader :date, :devs
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
def initialize(date, *devs)
|
6
|
+
@date, @devs = date, devs
|
7
|
+
end
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
def to_s
|
10
|
+
if date.nil?
|
11
|
+
"#{devs.join ', '}: not yet"
|
12
|
+
else
|
13
|
+
"#{devs.join ', '}: #{date}"
|
14
|
+
end
|
13
15
|
end
|
14
|
-
end
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
def <=>(other)
|
18
|
+
if date && other.date
|
19
|
+
date <=> other.date
|
20
|
+
elsif date
|
21
|
+
1
|
22
|
+
elsif other.date
|
23
|
+
-1
|
24
|
+
else
|
25
|
+
0
|
26
|
+
end
|
25
27
|
end
|
26
28
|
end
|
27
29
|
end
|
data/lib/pair_see/log_line.rb
CHANGED
@@ -1,54 +1,56 @@
|
|
1
|
-
|
2
|
-
class LogLine
|
3
|
-
|
1
|
+
module PairSee
|
2
|
+
class LogLine
|
3
|
+
require 'time'
|
4
|
+
attr_reader :line
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
def initialize(line)
|
7
|
+
@line = line
|
8
|
+
end
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
def authored_by?(*people)
|
11
|
+
people.empty? ? false : people.all? do |person|
|
12
|
+
/(^|\s+|\W)#{person}(\s+|$|\W)/i =~ line
|
13
|
+
end
|
12
14
|
end
|
13
|
-
end
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
def contains_card?(card_prefix)
|
17
|
+
line.match(card_prefix)
|
18
|
+
end
|
18
19
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
def contains_card_name?(card_name)
|
21
|
+
git_regex = /#{card_name}[\]\s\[,:]/
|
22
|
+
git_matcher = line.match(git_regex)
|
23
|
+
!git_matcher.nil?
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
def card_name(card_prefix)
|
27
|
+
regex = /(#{card_prefix}\d+)/
|
28
|
+
matcher = line.match(regex)
|
29
|
+
matcher.nil? ? nil : (line.match regex)[1]
|
30
|
+
end
|
30
31
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
def card_number(card_prefix)
|
33
|
+
card_num = card_name(card_prefix)
|
34
|
+
card_num ? card_num.gsub(card_prefix, '') : nil
|
35
|
+
end
|
35
36
|
|
36
|
-
|
37
|
-
|
38
|
-
|
37
|
+
def merge_commit?
|
38
|
+
line.match('Merge remote-tracking branch') || line.match('Merge branch')
|
39
|
+
end
|
39
40
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
41
|
+
def date
|
42
|
+
regex = /(\d{4}-\d{2}-\d{2})/
|
43
|
+
matcher = line.match(regex)
|
44
|
+
part_to_parse = matcher.nil? ? '' : (line.match regex)[1]
|
45
|
+
Date.parse(part_to_parse)
|
46
|
+
end
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
48
|
+
def not_by_pair?(devs)
|
49
|
+
devs.any? { |dev| authored_by?(dev) || merge_commit? }
|
50
|
+
end
|
50
51
|
|
51
|
-
|
52
|
-
|
52
|
+
def to_s
|
53
|
+
line
|
54
|
+
end
|
53
55
|
end
|
54
56
|
end
|
data/lib/pair_see/log_lines.rb
CHANGED
@@ -1,49 +1,51 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module PairSee
|
2
|
+
class LogLines
|
3
|
+
require_relative 'log_line'
|
4
|
+
require 'git'
|
3
5
|
|
4
|
-
|
5
|
-
include Enumerable
|
6
|
+
include Enumerable
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
def initialize(git_home, date_string)
|
9
|
+
@lines = _lines_from(git_home, date_string)
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
def _lines_from(git_home, date_string)
|
13
|
+
g = Git.open(git_home)
|
14
|
+
g.log.since(date_string).map do |l|
|
15
|
+
LogLine.new("#{l.date} #{l.message}")
|
16
|
+
end
|
15
17
|
end
|
16
|
-
end
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
def each(&block)
|
20
|
+
lines.each &block
|
21
|
+
end
|
21
22
|
|
22
|
-
|
23
|
-
|
24
|
-
|
23
|
+
def last
|
24
|
+
lines.last
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
def active?(dev)
|
28
|
+
any? do |log_line|
|
29
|
+
log_line.authored_by?(dev)
|
30
|
+
end
|
29
31
|
end
|
30
|
-
end
|
31
32
|
|
32
|
-
|
33
|
-
|
34
|
-
|
33
|
+
def commits_for_pair(person1, person2)
|
34
|
+
select { |log_line| log_line.authored_by?(person1, person2) }
|
35
|
+
end
|
35
36
|
|
36
|
-
|
37
|
-
|
38
|
-
|
37
|
+
def commits_not_by_known_pair(devs)
|
38
|
+
reject { |log_line| log_line.not_by_pair? devs }
|
39
|
+
end
|
39
40
|
|
40
|
-
|
41
|
-
|
42
|
-
|
41
|
+
def solo_commits(devs, dev)
|
42
|
+
select do |log_line|
|
43
|
+
log_line.authored_by?(dev) && (devs - [dev]).none? { |d| log_line.authored_by?(d) }
|
44
|
+
end
|
43
45
|
end
|
44
|
-
end
|
45
46
|
|
46
|
-
|
47
|
+
private
|
47
48
|
|
48
|
-
|
49
|
+
attr_reader :lines
|
50
|
+
end
|
49
51
|
end
|
data/lib/pair_see/seer.rb
CHANGED
@@ -1,134 +1,136 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
log_lines
|
33
|
-
log_line
|
34
|
-
|
35
|
-
log_line
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
line
|
59
|
-
|
60
|
-
line
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
1
|
+
module PairSee
|
2
|
+
class Seer
|
3
|
+
require 'yamler'
|
4
|
+
require_relative 'combo'
|
5
|
+
require_relative 'date_combo'
|
6
|
+
require_relative 'log_lines'
|
7
|
+
require_relative 'card'
|
8
|
+
|
9
|
+
attr_reader :log_lines, :devs, :dev_pairs, :card_prefix
|
10
|
+
|
11
|
+
def initialize(log_lines, config_file)
|
12
|
+
@log_lines = log_lines
|
13
|
+
@devs = active_devs(config_file)
|
14
|
+
@dev_pairs = devs.combination(2)
|
15
|
+
@card_prefix = get_card_prefix(config_file)
|
16
|
+
end
|
17
|
+
|
18
|
+
def cards_per_person
|
19
|
+
@devs.map do |dev|
|
20
|
+
{ dev => cards_dev_worked_on(log_lines, dev) }
|
21
|
+
end.inject({}) do |result, element|
|
22
|
+
result.merge(element)
|
23
|
+
end.map do |dev_name, cards_worked|
|
24
|
+
{ dev_name => cards_worked.uniq }
|
25
|
+
end.inject({}) do |result, element|
|
26
|
+
result.merge(element)
|
27
|
+
end.map do|dev, cards|
|
28
|
+
"#{dev}: [#{cards.size} cards] #{cards.sort.join(', ')}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def cards_dev_worked_on(log_lines, dev)
|
33
|
+
log_lines.select do |log_line|
|
34
|
+
log_line.authored_by?(dev)
|
35
|
+
end.map do|log_line|
|
36
|
+
log_line.card_number(@card_prefix)
|
37
|
+
end.compact
|
38
|
+
end
|
39
|
+
|
40
|
+
def pretty_card_data
|
41
|
+
card_data(card_prefix).map do |card|
|
42
|
+
"#{card.card_name} - - - commits: #{card.number_of_commits} - - - duration: #{card.duration} days " unless card.nil?
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def card_data(card_prefix)
|
47
|
+
card_numbers(card_prefix).map do |card_name|
|
48
|
+
commits = commits_on_card(card_name)
|
49
|
+
Card.new(card_name, commits.count, commits.first.date, commits.last.date)
|
50
|
+
end.sort_by(&:duration).reverse
|
51
|
+
end
|
52
|
+
|
53
|
+
def commits_on_card(card_name)
|
54
|
+
log_lines.select { |line| line.contains_card_name?(card_name) }
|
55
|
+
end
|
56
|
+
|
57
|
+
def card_numbers(card_prefix)
|
58
|
+
log_lines.select do |line|
|
59
|
+
line.contains_card?(card_prefix)
|
60
|
+
end.map do |line|
|
61
|
+
line.card_name(card_prefix)
|
62
|
+
end.uniq.compact
|
63
|
+
end
|
64
|
+
|
65
|
+
def get_card_prefix(config_file)
|
66
|
+
config = YAML.load_file(config_file)
|
67
|
+
config['card_prefix']
|
68
|
+
end
|
69
|
+
|
70
|
+
def active_devs(config_file)
|
71
|
+
config = YAML.load_file(config_file)
|
72
|
+
devs_in_config = config['names'].split(' ')
|
73
|
+
devs_in_config.select do |dev|
|
74
|
+
is_active(dev)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def is_active(dev)
|
79
|
+
log_lines.active? dev
|
80
|
+
end
|
81
|
+
|
82
|
+
def pair_commits
|
83
|
+
dev_pairs.map do |person1, person2|
|
84
|
+
Combo.new(commits_for_pair(person1, person2).count, person1, person2)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def solo_commits
|
89
|
+
devs.map do |dev|
|
90
|
+
Combo.new(log_lines.solo_commits(devs, dev).count, dev)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def all_commits
|
95
|
+
(pair_commits + solo_commits).sort_by(&:count).reject(&:empty?).map(&:to_s)
|
96
|
+
end
|
97
|
+
|
98
|
+
def commits_for_pair(person1, person2)
|
99
|
+
log_lines.commits_for_pair person1, person2
|
100
|
+
end
|
101
|
+
|
102
|
+
def commits_not_by_known_pair
|
103
|
+
log_lines.commits_not_by_known_pair devs
|
104
|
+
end
|
105
|
+
|
106
|
+
def most_recent_commit_date(person1, person2)
|
107
|
+
recent_commit = commits_for_pair(person1, person2).sort_by(&:date).first
|
108
|
+
recent_commit ? recent_commit.date : nil
|
109
|
+
end
|
110
|
+
|
111
|
+
def all_most_recent_commits
|
112
|
+
dev_pairs.map do |person1, person2|
|
113
|
+
DateCombo.new(most_recent_commit_date(person1, person2), person1, person2)
|
114
|
+
end.sort.reverse.map &:to_s
|
115
|
+
end
|
116
|
+
|
117
|
+
def recommended_pairings
|
118
|
+
should_pair = unpaired_in_range
|
119
|
+
should_pair.empty? ? least_recent_pair : should_pair
|
120
|
+
end
|
121
|
+
|
122
|
+
def least_recent_pair
|
123
|
+
devs.select do |dev|
|
124
|
+
log_lines.last.line.match(dev)
|
125
|
+
end.join(', ')
|
126
|
+
end
|
127
|
+
|
128
|
+
def unpaired_in_range
|
129
|
+
dev_pairs.select do |person1, person2|
|
130
|
+
most_recent_commit_date(person1, person2).nil?
|
131
|
+
end.map do |person1, person2|
|
132
|
+
"#{person1}, #{person2}"
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
134
136
|
end
|
data/lib/pair_see/version.rb
CHANGED
data/lib/pair_see.rb
CHANGED
data/pair_see.gemspec
CHANGED
@@ -10,6 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ['compiledwrong@gmail.com']
|
11
11
|
|
12
12
|
spec.summary = 'See metrics about pair programming from the commandline'
|
13
|
+
spec.description = 'See commits not by known pair, most recent commits by pairs, recommended pairings, card duration and pairing data, and cards each person has worked on'
|
13
14
|
spec.homepage = 'https://github.com/compwron/pairsee'
|
14
15
|
spec.license = 'MIT'
|
15
16
|
|
@@ -18,14 +19,14 @@ Gem::Specification.new do |spec|
|
|
18
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
20
|
spec.require_paths = ['lib']
|
20
21
|
|
21
|
-
spec.add_dependency 'yamler'
|
22
|
-
spec.add_dependency 'trollop'
|
23
|
-
spec.add_dependency 'git'
|
22
|
+
spec.add_dependency 'yamler', '~> 0.1'
|
23
|
+
spec.add_dependency 'trollop', '~> 2.0'
|
24
|
+
spec.add_dependency 'git', '~> 1.2'
|
24
25
|
|
25
|
-
spec.add_development_dependency 'bundler'
|
26
|
-
spec.add_development_dependency 'rake'
|
27
|
-
spec.add_development_dependency 'rspec'
|
28
|
-
spec.add_development_dependency 'rubocop'
|
29
|
-
spec.add_development_dependency 'rake_commit'
|
30
|
-
spec.add_development_dependency 'codeclimate-test-reporter'
|
26
|
+
spec.add_development_dependency 'bundler', '~> 1.8'
|
27
|
+
spec.add_development_dependency 'rake', '~> 10.4'
|
28
|
+
spec.add_development_dependency 'rspec', '~> 3.2'
|
29
|
+
spec.add_development_dependency 'rubocop', '~> 0.29'
|
30
|
+
spec.add_development_dependency 'rake_commit', '~> 1.1'
|
31
|
+
spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.4.7'
|
31
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pair_see
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- compwron
|
@@ -14,129 +14,130 @@ dependencies:
|
|
14
14
|
name: yamler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '0.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '0.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: trollop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: git
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '1.2'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '1.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.8'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '1.8'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '10.4'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '10.4'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '3.2'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '3.2'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rubocop
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
103
|
+
version: '0.29'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
110
|
+
version: '0.29'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rake_commit
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '1.1'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '1.1'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: codeclimate-test-reporter
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 0.4.7
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
139
|
-
description:
|
138
|
+
version: 0.4.7
|
139
|
+
description: See commits not by known pair, most recent commits by pairs, recommended
|
140
|
+
pairings, card duration and pairing data, and cards each person has worked on
|
140
141
|
email:
|
141
142
|
- compiledwrong@gmail.com
|
142
143
|
executables: []
|