git-duo 1.0.2 → 1.1.0

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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODQ5NmE2NDZkODI5MjlhNmFjMWE1NWMzNmJkYjNlNWE0OTJiMzc1Nw==
5
- data.tar.gz: !binary |-
6
- Mzg4MmI1MzEwMDEyZmQxOWUxZjlkNjMwYjI5YWJmNDNjZDRjOThkMg==
2
+ SHA1:
3
+ metadata.gz: 86abf0bd1edfba03e11c350784f8b92ea1c7ab69
4
+ data.tar.gz: 36b61939aaa264bc3521746b121f21f47379372d
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NGY1YTg5OGM5NmU0MDFhYmY0Y2UxMmQ2NjAyMDg4ZGI1MGZkNTg1OWUzODdi
10
- NGM1MGMzNGI1NmE0MDkxYTc3YjM1YmQ2YWJmOGM2NWFiODgzYWY3NjdhNDJi
11
- NDRiZTEyNDcyNTNjODFhNGQ1Y2I5YTg0ZWUxNGJjY2FhMjc4MDI=
12
- data.tar.gz: !binary |-
13
- NTJkYjZiYWI4MjhmZTUwMDMwZGUyMTgxZGNiMWQyM2NkMWFhMTI5YjAwYjBi
14
- OWU1YzYxOTdkM2I1NTI0ZmU5MDBlMjk4OWNhZGEwNGU5MTFjYzZkMWVmNDU4
15
- ZGVmZTAyYjZhMWJjZGU1NjNkZTBmNTJjYWFmZTExMzNjMGIzNzg=
6
+ metadata.gz: c5248b53243083ea48abbd4bc044cf986c889888a22c1dd21b98904d4244e00cb4274dcfb92cd7e2126896d85ab322a5a8f233b954d0fbbf140d6c22132699d9
7
+ data.tar.gz: 2d8a47d0e96058056e93a87e5468cdc0f44d7698c0d4d984c36b2af76acfd5d6216f0ef45dabfa79a5964c0805918379ac89117d2a1f09a49674c6bad4943894
data/README.md CHANGED
@@ -37,6 +37,11 @@ $ git duo alfred bruce jim
37
37
  Alfred Pennyworth + Bruce Wayne + Jim Gordon <dev+alfred+bruce+jim@gotham.travel>
38
38
  ```
39
39
 
40
+ ```bash
41
+ $ git duo alfred
42
+ Alfred Pennyworth <alfred@gotham.travel>
43
+ ```
44
+
40
45
  ```bash
41
46
  $ git duo --list
42
47
  Bruce Wayne <bruce@gotham.travel>
@@ -11,9 +11,9 @@ module Git
11
11
  result = []
12
12
  result += opts.
13
13
  select {|k, _| authors.sample.respond_to? k }.
14
- map do |k, v|
14
+ map {|k, v|
15
15
  authors.select {|o| o.send(k) =~ /#{v}/i }
16
- end.flatten
16
+ }.flatten
17
17
  rescue NoMethodError
18
18
  result
19
19
  end
@@ -1,5 +1,5 @@
1
1
  module Git
2
2
  module Duo
3
- class EmailNotImplementedError < StandardError; end
3
+ EmailNotImplementedError = Class.new StandardError
4
4
  end
5
5
  end
data/lib/git/duo/pair.rb CHANGED
@@ -16,7 +16,11 @@ module Git
16
16
  end
17
17
 
18
18
  def email
19
- base_email.gsub "%names", authors.map(&:key).join(?+)
19
+ if authors.size > 1
20
+ base_email.gsub "%names", authors.map(&:key).join(?+)
21
+ else
22
+ authors.first.email
23
+ end
20
24
  end
21
25
 
22
26
  def to_s
@@ -38,9 +42,9 @@ module Git
38
42
  end
39
43
 
40
44
  def guess_base_email_from_authors
41
- domains = authors.map do |author|
45
+ domains = authors.map {|author|
42
46
  author.email.split(?@).last
43
- end.uniq
47
+ }.uniq
44
48
 
45
49
  "dev+%names@#{domains.first}" if domains.size == 1
46
50
  end
data/lib/git/duo/repo.rb CHANGED
@@ -61,10 +61,9 @@ module Git
61
61
  end
62
62
 
63
63
  def save_authors
64
- authors.flatten.
65
- each do |author|
66
- wrapper.config "git-duo.#{author.key} '#{author}'"
67
- end
64
+ authors.
65
+ flatten.
66
+ each {|author| wrapper.config "git-duo.#{author.key} '#{author}'" }
68
67
  end
69
68
 
70
69
  def save_email
@@ -1,5 +1,5 @@
1
1
  module Git
2
2
  module Duo
3
- VERSION = "1.0.2"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
@@ -20,6 +20,17 @@ module Git::Duo
20
20
  assert_equal expected_email, pair.email
21
21
  end
22
22
 
23
+ def test_pair_supports_one_single_author
24
+ author = alfred_and_bruce.first
25
+ pair = Pair.new [author], wrapper: wrapper
26
+
27
+ expected_name = "Alfred Pennyworth"
28
+ expected_email = "alfred@gotham.travel"
29
+
30
+ assert_equal expected_name, pair.name
31
+ assert_equal expected_email, pair.email
32
+ end
33
+
23
34
  def test_name
24
35
  expected = 'Alfred Pennyworth + Bruce Wayne'
25
36
  assert_equal expected, pair.name
data/test/test_helper.rb CHANGED
@@ -6,8 +6,8 @@ require 'git/duo'
6
6
 
7
7
  def alfred_and_bruce
8
8
  [
9
- Git::Duo::Author.import('bruce Bruce Wayne <bruce@gotham.travel>'),
10
- Git::Duo::Author.import('alfred Alfred Pennyworth <alfred@gotham.travel>')
9
+ Git::Duo::Author.import('alfred Alfred Pennyworth <alfred@gotham.travel>'),
10
+ Git::Duo::Author.import('bruce Bruce Wayne <bruce@gotham.travel>')
11
11
  ]
12
12
  end
13
13
 
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Teo Ljungberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-23 00:00:00.000000000 Z
11
+ date: 2014-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
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
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mocha
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
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
82
  version: '0'
83
83
  description: A git porcelain for duo programming. Changes git-config's user.name and
@@ -90,9 +90,9 @@ executables:
90
90
  extensions: []
91
91
  extra_rdoc_files: []
92
92
  files:
93
- - .autotest
94
- - .gitignore
95
- - .travis.yml
93
+ - ".autotest"
94
+ - ".gitignore"
95
+ - ".travis.yml"
96
96
  - Gemfile
97
97
  - LICENSE.txt
98
98
  - README.md
@@ -124,17 +124,17 @@ require_paths:
124
124
  - lib
125
125
  required_ruby_version: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ! '>='
127
+ - - ">="
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - ! '>='
132
+ - - ">="
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
136
  rubyforge_project:
137
- rubygems_version: 2.1.11
137
+ rubygems_version: 2.2.0
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: Git pairing made easy
@@ -144,4 +144,3 @@ test_files:
144
144
  - test/git/duo/pair_test.rb
145
145
  - test/git/duo/repo_test.rb
146
146
  - test/test_helper.rb
147
- has_rdoc: