badgerbadgerbadger 0.10.2 → 0.11.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/features/alternative-styles.feature +18 -0
- data/lib/badger/badge.rb +13 -3
- data/lib/badger/badger.rb +4 -0
- data/lib/badger/cli.rb +2 -0
- data/lib/badger/version.rb +1 -1
- data/spec/badge_types_spec.rb +27 -0
- data/spec/badger_spec.rb +6 -81
- data/spec/licenses_spec.rb +42 -0
- data/spec/services_spec.rb +33 -0
- data/spec/user_and_repo_spec.rb +33 -0
- metadata +11 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9c9af23f129d7fc0d0ff6c2da27abae3da5bc596
|
|
4
|
+
data.tar.gz: e08ce50e33fc38845c8131ca2ebbf4d7e3c003a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ec577ef671de98f9030e4127077af545e9c36f5df6cc301bcec5bf2c437b3d1fe37c7d6ed715106655e33002993ba11d0db749926ee173c448c856c5e4ae0c97
|
|
7
|
+
data.tar.gz: 9490e09bed7a3a9c27c9b3568026bf9a0e44b3a0e8eb97112638344d64164968bd40a48e5b5b24bcc7b51b85d627c32b2aaa652219291c31e647418bc2c3c936
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Feature: Alternative styles
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given git remote is "https://github.com/doge/wow"
|
|
5
|
+
|
|
6
|
+
@travis @gemnasium @coveralls @gemspec @mit
|
|
7
|
+
Scenario: One with everything
|
|
8
|
+
When I successfully run `badger badge --style flat-square /tmp/wow_repo`
|
|
9
|
+
Then the output should contain:
|
|
10
|
+
"""
|
|
11
|
+
[](https://travis-ci.org/doge/wow)
|
|
12
|
+
[](https://gemnasium.com/doge/wow)
|
|
13
|
+
[](https://coveralls.io/r/doge/wow)
|
|
14
|
+
[](https://codeclimate.com/github/doge/wow)
|
|
15
|
+
[](https://rubygems.org/gems/suchgem)
|
|
16
|
+
[](http://doge.mit-license.org)
|
|
17
|
+
[](https://github.com/badges/badgerbadgerbadger)
|
|
18
|
+
"""
|
data/lib/badger/badge.rb
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
module Badger
|
|
2
2
|
def Badger.badge text, badge_url, target_url
|
|
3
|
-
"
|
|
3
|
+
badge_url = "%s.%s" % [
|
|
4
|
+
badge_url,
|
|
5
|
+
Config.instance.config['badge_type']
|
|
6
|
+
]
|
|
7
|
+
|
|
8
|
+
badge_style = Config.instance.config['badge_style']
|
|
9
|
+
badge_url = "%s?style=%s" % [
|
|
10
|
+
badge_url,
|
|
11
|
+
badge_style
|
|
12
|
+
] if badge_style
|
|
13
|
+
|
|
14
|
+
"[](%s)" % [
|
|
4
15
|
text,
|
|
5
16
|
badge_url,
|
|
6
|
-
Config.instance.config['badge_type'],
|
|
7
17
|
target_url
|
|
8
18
|
]
|
|
9
19
|
end
|
|
10
|
-
end
|
|
20
|
+
end
|
data/lib/badger/badger.rb
CHANGED
data/lib/badger/cli.rb
CHANGED
|
@@ -14,11 +14,13 @@ module Badger
|
|
|
14
14
|
long_desc File.read File.join File.dirname( __FILE__), '..', '..', 'DESC.md'
|
|
15
15
|
method_option :png, :type => :boolean, :default => false, :desc => 'Generate PNG badges instead of the default SVG (because sometimes Github does caching things)'
|
|
16
16
|
method_option :pulls, :type => :boolean, :default => false, :desc => 'Generate Github pull-request and issue-count badges'
|
|
17
|
+
method_option :style, :type => :string, :default => nil, :desc => "Choose a different badge style (currently supported: 'flat' or 'flat-square')"
|
|
17
18
|
|
|
18
19
|
def badge dir = '.'
|
|
19
20
|
@badger = Badger.new Badger.git_remote dir
|
|
20
21
|
|
|
21
22
|
@badger.badge_type 'png' if options[:png]
|
|
23
|
+
@badger.style options[:style] if options[:style]
|
|
22
24
|
|
|
23
25
|
@badger.add 'travis' if Badger.has_travis? dir
|
|
24
26
|
@badger.add 'gemnasium' if Badger.has_gemfile? dir
|
data/lib/badger/version.rb
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Badger
|
|
4
|
+
describe Badger do
|
|
5
|
+
before :each do
|
|
6
|
+
@badger = Badger.new "https://github.com/doge/wow"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
after :each do
|
|
10
|
+
Config.instance.reset!
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
context 'alternative badge types' do
|
|
14
|
+
it 'appends a style parameter' do
|
|
15
|
+
@badger.style 'flat-square'
|
|
16
|
+
@badger.add 'issues'
|
|
17
|
+
expect(@badger[0]).to eq "[](https://github.com/doge/wow/issues)"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'lets me choose a different badge type' do
|
|
21
|
+
@badger.badge_type 'png'
|
|
22
|
+
@badger.add 'travis'
|
|
23
|
+
expect(@badger[0]).to eq '[](https://travis-ci.org/doge/wow)'
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/spec/badger_spec.rb
CHANGED
|
@@ -11,89 +11,20 @@ module Badger
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
context 'initialisation' do
|
|
14
|
-
it '
|
|
15
|
-
expect(@badger.length).to eq 0
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
context 'get the user and repo' do
|
|
20
|
-
it 'extracts from an https url' do
|
|
21
|
-
expect(@badger.github_slug).to eq ('doge/wow')
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it 'extracts the owner' do
|
|
25
|
-
expect(@badger.owner).to eq 'doge'
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it 'extracts from an ssh url' do
|
|
29
|
-
@badger = Badger.new "git@github.com:doge/wow.git"
|
|
30
|
-
expect(@badger.github_slug).to eq ('doge/wow')
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'knows that sometimes an https url has a .git suffix because REASONS' do
|
|
34
|
-
@badger = Badger.new "https://github.com/doge/wow.git"
|
|
35
|
-
expect(@badger.github_slug).to eq ('doge/wow')
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
context 'service badges' do
|
|
40
|
-
it 'should have a travis badge' do
|
|
41
|
-
@badger.add 'travis'
|
|
42
|
-
expect(@badger[0]).to eq "[](https://travis-ci.org/doge/wow)"
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it 'should have a travis badge and a gemnasium badge' do
|
|
46
|
-
@badger.add 'travis'
|
|
47
|
-
@badger.add 'gemnasium'
|
|
48
|
-
expect(@badger[0]).to eq "[](https://travis-ci.org/doge/wow)"
|
|
49
|
-
expect(@badger[1]).to eq "[](https://gemnasium.com/doge/wow)"
|
|
50
|
-
expect(@badger.length).to eq 2
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it 'should handle an unknown service gracefully' do
|
|
54
|
-
@badger.add 'doge-service'
|
|
55
|
-
expect(@badger.length).to eq 0
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
context 'licenses' do
|
|
60
|
-
it 'should generate an MIT badge' do
|
|
61
|
-
@badger.license 'mit'
|
|
62
|
-
expect(@badger[0]).to eq "[](http://doge.mit-license.org)"
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
it 'should generate an Apache badge' do
|
|
66
|
-
@badger.license 'apache'
|
|
67
|
-
expect(@badger[0]).to eq "[](http://www.apache.org/licenses/LICENSE-2.0.html)"
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it 'should generate a GPL3 badge' do
|
|
71
|
-
@badger.license 'gpl-3.0'
|
|
72
|
-
expect(@badger[0]).to eq "[](http://www.gnu.org/licenses/gpl-3.0.html)"
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
it 'should be fine with multiple licenses' do
|
|
76
|
-
@badger.license 'mit'
|
|
77
|
-
@badger.license 'apache'
|
|
78
|
-
expect(@badger[0]).to eq "[](http://doge.mit-license.org)"
|
|
79
|
-
expect(@badger[1]).to eq "[](http://www.apache.org/licenses/LICENSE-2.0.html)"
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it 'should generate nothing for an unknown license' do
|
|
83
|
-
@badger.license 'doge-license'
|
|
14
|
+
it 'has no badges by default' do
|
|
84
15
|
expect(@badger.length).to eq 0
|
|
85
16
|
end
|
|
86
17
|
end
|
|
87
18
|
|
|
88
19
|
context 'rubygems' do
|
|
89
|
-
it '
|
|
20
|
+
it 'has a rubygems badge' do
|
|
90
21
|
@badger.rubygem 'suchgem'
|
|
91
22
|
expect(@badger[0]).to eq "[](https://rubygems.org/gems/suchgem)"
|
|
92
23
|
end
|
|
93
24
|
end
|
|
94
25
|
|
|
95
26
|
context 'bonus badge' do
|
|
96
|
-
it '
|
|
27
|
+
it 'has a badges badge' do
|
|
97
28
|
@badger.add 'travis'
|
|
98
29
|
@badger.add 'coveralls'
|
|
99
30
|
@badger.bonus
|
|
@@ -102,14 +33,14 @@ module Badger
|
|
|
102
33
|
end
|
|
103
34
|
|
|
104
35
|
context 'github pulls' do
|
|
105
|
-
it '
|
|
36
|
+
it 'has a pull-requests badge' do
|
|
106
37
|
@badger.add 'pulls'
|
|
107
38
|
expect(@badger[0]).to eq "[](https://github.com/doge/wow/pulls)"
|
|
108
39
|
end
|
|
109
40
|
end
|
|
110
41
|
|
|
111
42
|
context 'output' do
|
|
112
|
-
it '
|
|
43
|
+
it 'produces some lines of text' do
|
|
113
44
|
@badger.add 'travis'
|
|
114
45
|
@badger.add 'codeclimate'
|
|
115
46
|
@badger.license 'mit'
|
|
@@ -122,16 +53,10 @@ module Badger
|
|
|
122
53
|
end
|
|
123
54
|
end
|
|
124
55
|
|
|
125
|
-
it '
|
|
56
|
+
it 'works with a "-" in the remote name' do
|
|
126
57
|
@badger = Badger.new 'https://github.com/pikesley/diabetes-dashboard.git'
|
|
127
58
|
@badger.add 'travis'
|
|
128
59
|
expect(@badger[0]).to eq '[](https://travis-ci.org/pikesley/diabetes-dashboard)'
|
|
129
60
|
end
|
|
130
|
-
|
|
131
|
-
it 'should let me choose a different badge type' do
|
|
132
|
-
@badger.badge_type 'png'
|
|
133
|
-
@badger.add 'travis'
|
|
134
|
-
expect(@badger[0]).to eq '[](https://travis-ci.org/doge/wow)'
|
|
135
|
-
end
|
|
136
61
|
end
|
|
137
62
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Badger
|
|
4
|
+
describe Badger do
|
|
5
|
+
before :each do
|
|
6
|
+
@badger = Badger.new "https://github.com/doge/wow"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
after :each do
|
|
10
|
+
Config.instance.reset!
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
context 'licenses' do
|
|
14
|
+
it 'generates an MIT badge' do
|
|
15
|
+
@badger.license 'mit'
|
|
16
|
+
expect(@badger[0]).to eq "[](http://doge.mit-license.org)"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'generates an Apache badge' do
|
|
20
|
+
@badger.license 'apache'
|
|
21
|
+
expect(@badger[0]).to eq "[](http://www.apache.org/licenses/LICENSE-2.0.html)"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'generates a GPL3 badge' do
|
|
25
|
+
@badger.license 'gpl-3.0'
|
|
26
|
+
expect(@badger[0]).to eq "[](http://www.gnu.org/licenses/gpl-3.0.html)"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'is fine with multiple licenses' do
|
|
30
|
+
@badger.license 'mit'
|
|
31
|
+
@badger.license 'apache'
|
|
32
|
+
expect(@badger[0]).to eq "[](http://doge.mit-license.org)"
|
|
33
|
+
expect(@badger[1]).to eq "[](http://www.apache.org/licenses/LICENSE-2.0.html)"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'generates nothing for an unknown license' do
|
|
37
|
+
@badger.license 'doge-license'
|
|
38
|
+
expect(@badger.length).to eq 0
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Badger
|
|
4
|
+
describe Badger do
|
|
5
|
+
before :each do
|
|
6
|
+
@badger = Badger.new "https://github.com/doge/wow"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
after :each do
|
|
10
|
+
Config.instance.reset!
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
context 'service badges' do
|
|
14
|
+
it 'has a travis badge' do
|
|
15
|
+
@badger.add 'travis'
|
|
16
|
+
expect(@badger[0]).to eq "[](https://travis-ci.org/doge/wow)"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'has a travis badge and a gemnasium badge' do
|
|
20
|
+
@badger.add 'travis'
|
|
21
|
+
@badger.add 'gemnasium'
|
|
22
|
+
expect(@badger[0]).to eq "[](https://travis-ci.org/doge/wow)"
|
|
23
|
+
expect(@badger[1]).to eq "[](https://gemnasium.com/doge/wow)"
|
|
24
|
+
expect(@badger.length).to eq 2
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'handles an unknown service gracefully' do
|
|
28
|
+
@badger.add 'doge-service'
|
|
29
|
+
expect(@badger.length).to eq 0
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Badger
|
|
4
|
+
describe Badger do
|
|
5
|
+
before :each do
|
|
6
|
+
@badger = Badger.new "https://github.com/doge/wow"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
after :each do
|
|
10
|
+
Config.instance.reset!
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
context 'get the user and repo' do
|
|
14
|
+
it 'extracts from an https url' do
|
|
15
|
+
expect(@badger.github_slug).to eq ('doge/wow')
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'extracts the owner' do
|
|
19
|
+
expect(@badger.owner).to eq 'doge'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'extracts from an ssh url' do
|
|
23
|
+
@badger = Badger.new "git@github.com:doge/wow.git"
|
|
24
|
+
expect(@badger.github_slug).to eq ('doge/wow')
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'knows that sometimes an https url has a .git suffix because REASONS' do
|
|
28
|
+
@badger = Badger.new "https://github.com/doge/wow.git"
|
|
29
|
+
expect(@badger.github_slug).to eq ('doge/wow')
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: badgerbadgerbadger
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.11.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- pikesley
|
|
@@ -214,6 +214,7 @@ files:
|
|
|
214
214
|
- config/config.yaml
|
|
215
215
|
- config/licenses.yaml
|
|
216
216
|
- config/services.yaml
|
|
217
|
+
- features/alternative-styles.feature
|
|
217
218
|
- features/badger.feature
|
|
218
219
|
- features/licenses.feature
|
|
219
220
|
- features/png.feature
|
|
@@ -244,8 +245,12 @@ files:
|
|
|
244
245
|
- lib/badger/rubygem.rb
|
|
245
246
|
- lib/badger/service.rb
|
|
246
247
|
- lib/badger/version.rb
|
|
248
|
+
- spec/badge_types_spec.rb
|
|
247
249
|
- spec/badger_spec.rb
|
|
250
|
+
- spec/licenses_spec.rb
|
|
251
|
+
- spec/services_spec.rb
|
|
248
252
|
- spec/spec_helper.rb
|
|
253
|
+
- spec/user_and_repo_spec.rb
|
|
249
254
|
homepage: http://badges.github.io/badgerbadgerbadger/
|
|
250
255
|
licenses:
|
|
251
256
|
- MIT
|
|
@@ -272,6 +277,7 @@ specification_version: 4
|
|
|
272
277
|
summary: Badge-Driven Development made easy. Generate a set of Github badges for your
|
|
273
278
|
project without cutting-n-pasting every time
|
|
274
279
|
test_files:
|
|
280
|
+
- features/alternative-styles.feature
|
|
275
281
|
- features/badger.feature
|
|
276
282
|
- features/licenses.feature
|
|
277
283
|
- features/png.feature
|
|
@@ -291,5 +297,9 @@ test_files:
|
|
|
291
297
|
- features/support/hooks/licenses.rb
|
|
292
298
|
- features/support/hooks/rubygems.rb
|
|
293
299
|
- features/support/hooks/services.rb
|
|
300
|
+
- spec/badge_types_spec.rb
|
|
294
301
|
- spec/badger_spec.rb
|
|
302
|
+
- spec/licenses_spec.rb
|
|
303
|
+
- spec/services_spec.rb
|
|
295
304
|
- spec/spec_helper.rb
|
|
305
|
+
- spec/user_and_repo_spec.rb
|