repo-small-badge 0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8d016c07e5425d160473ee038e4f425be76d1d9e508a20f00a9418057dd7c980
4
+ data.tar.gz: ccf25c903bb72632592af4f3494fe7e43703c999812e5f6842c0310a3ea558ee
5
+ SHA512:
6
+ metadata.gz: 938fb539afd31f41eeec309264b1e2758dd6a8047f60187cfc505237333dca6961b31af6f14c2a0457f77f4083ef404a3172d1e6da9a92a6b4151f472882f0f9
7
+ data.tar.gz: 772a1738476f175c19d803d146f5c7b9f2e5ba319eab883735b4636a03755579d7eab0d10882885d91d0b134362e4acdfb3cdf406d2b01470fd034aa8e0f1da2
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ .rvmrc
2
+ .bundle
3
+ Gemfile.lock
4
+
5
+ ## PROJECT::GENERAL
6
+ coverage
7
+ rdoc
8
+ pkg
9
+ .sass-cache
10
+ *.gem
11
+
12
+ ## PROJECT::SPECIFIC
13
+
14
+ vendor
15
+ .byebug_history
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/.rubocop.yml ADDED
@@ -0,0 +1,7 @@
1
+ Metrics/ModuleLength:
2
+ Exclude:
3
+ - "spec/*_spec.rb"
4
+
5
+ Metrics/BlockLength:
6
+ Exclude:
7
+ - "spec/*_spec.rb"
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ repo-small-badge
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.5.1
data/.travis.yml ADDED
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+ branches:
3
+ only:
4
+ - master
5
+ rvm:
6
+ - 2.5.1
7
+ cache: bundler
8
+ bundler_args: "--jobs=3 --retry=3 --without production"
9
+ matrix:
10
+ fast_finish: true
11
+ script:
12
+ - sh script/travis.sh
13
+ deploy:
14
+ provider: pages
15
+ skip-cleanup: true
16
+ github-token: $GITHUB_TOKEN
17
+ keep-history: true
18
+ verbose: true
19
+ on:
20
+ branch: master
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ gem 'byebug', group: %i[development test]
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2018 Marc Grimme
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # RepoSmallBadge
2
+
3
+ [![Build Status](https://api.travis-ci.org/MarcGrimme/repo-small-badge.svg?branch=master)](https://secure.travis-ci.org/MarcGrimme/repo-small-badge)
4
+ [![Depfu](https://badges.depfu.com/badges/e794da00404482f66ce7ca05eea9640b/count.svg)](https://depfu.com/github/MarcGrimme/repo-small-badge?project_id=6915)
5
+ ![Coverage](https://marcgrimme.github.io/repo-small-badge/badges/coverage_badge_total.png)
6
+
7
+ *RepoSmalladge* is a gem that can be added to the `Gemfile` and consolidates functionality to produce a badge file.
8
+ The text place and other configurable can be specified at instance time.
9
+
10
+ ## Installation
11
+
12
+ The badge creation is dependent on the [MiniMagic gem](https://github.com/minimagick/minimagick) which requires the [ImageMagick](http://www.imagemagick.org/index.php) software.
13
+
14
+ It can be installed in your Ruby library or rails app as part of the `Gemfile` as follows.
15
+
16
+ ```
17
+ # In your gemfile
18
+ gem 'repo-small-badge', :require => false
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ Most propably you need a surrounding formatter for a different badge you want to create and this gem is implicitly required.
24
+
25
+ Examples are:
26
+ * [SimpleCovSmallBadge](https://github.com/MarcGrimme/simplecov-small-badge)
27
+
28
+ ## Configuration Options
29
+
30
+ The behaviour of `RepoSmallBadge` can be influenced by configuration options that are passed to the constructor as a hash.
31
+ The following options are supported:
32
+
33
+ ## Development
34
+
35
+ After checking out the repo, run `bundle update` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
36
+
37
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
38
+
39
+ ## Contributing
40
+
41
+ 1. Fork it ( https://github.com/marcgrimme/repo-small-badge/fork )
42
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
43
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
44
+ 4. Push to the branch (`git push origin my-new-feature`)
45
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler'
4
+ Bundler::GemHelper.install_tasks
5
+
6
+ require 'rspec/core/rake_task'
7
+ RSpec::Core::RakeTask.new('spec')
8
+
9
+ # If you want to make this the default task
10
+ task default: :spec
data/bin/console ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'simplecov_small_badge'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ # rubocop:disable Style/GlobalVars
15
+ $badge = RepoSmallBadge::Image.new(config)
16
+ # rubocop:enable Style/GlobalVars
17
+
18
+ require 'irb'
19
+ IRB.start
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # :nodoc:
4
+ module RepoSmallBadge
5
+ end
6
+
7
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__)))
8
+ require 'repo_small_badge/version'
9
+ require 'repo_small_badge/image'
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'mini_magick'
4
+
5
+ ImageMagickError = Class.new(StandardError)
6
+
7
+ module RepoSmallBadge
8
+ # :nodoc:
9
+ class Image
10
+ # Create new instance.
11
+ # @config is a Hash of configurables. Keys are symbols.
12
+ def initialize(config = {})
13
+ raise ImageMagicError, 'Imagemagick is not installed on this system.' \
14
+ unless MiniMagick.imagemagick?
15
+
16
+ @config = config
17
+ MiniMagick.logger = Logger.new($stdout, level:
18
+ @config.fetch(:log_level, 'info')
19
+ .to_sym)
20
+ end
21
+
22
+ # Creates the badge.
23
+ # @name the suffix for the filename (badge_#{name})
24
+ # @title the title of the badge.
25
+ # @value is the overall value to be written to the right side of the badge.
26
+ # @state can be either good, bad, unknown
27
+ # (background color is determined from it.)
28
+ def badge(name, title, value, state)
29
+ MiniMagick::Tool::Convert.new do |convert|
30
+ convert.gravity('center')
31
+ convert.background(@config.fetch(:background, 'transparent'))
32
+ convert.pango(pango(title, value, state))
33
+ rounded_border? &&
34
+ rounded_border(convert,
35
+ @config.fetch(:rounded_edge_radius, 3))
36
+ convert << filename(name)
37
+ end
38
+ true
39
+ end
40
+
41
+ private
42
+
43
+ # rubocop:disable Lint/Void, Metrics/LineLength, Metrics/MethodLength, Metrics/AbcSize
44
+ def rounded_border(convert, radius = 3)
45
+ convert.stack do |stack|
46
+ stack.clone.+
47
+ stack.alpha('extract')
48
+ stack.draw("fill black polygon 0,0 0,#{radius} #{radius},0 fill white circle #{radius},#{radius} #{radius},0")
49
+ stack.stack do |stack1|
50
+ stack1.clone.+
51
+ stack1.flip
52
+ end
53
+ stack.compose('Multiply')
54
+ stack.composite
55
+ stack.stack do |stack1|
56
+ stack1.clone.+
57
+ stack1.flop
58
+ end
59
+ stack.compose('Multiply')
60
+ stack.composite
61
+ end
62
+ convert.alpha('off')
63
+ convert.compose('CopyOpacity')
64
+ convert.composite
65
+ end
66
+ # rubocop:enable Lint/Void, Metrics/LineLength, Metrics/MethodLength, Metrics/AbcSize
67
+
68
+ def rounded_border?
69
+ @config.fetch(:rounded_border, true)
70
+ end
71
+
72
+ def pango(title, value, state)
73
+ "#{pango_title(title)}#{pango_value(value, state)}"
74
+ end
75
+
76
+ def pango_title(suffix)
77
+ pango_text(title(suffix), @config.fetch(:title_font, 'Helvetica'),
78
+ @config.fetch(:title_font_color, 'white'),
79
+ @config.fetch(:title_font_size, '16'),
80
+ @config.fetch(:title_background, '#595959'))
81
+ end
82
+
83
+ def pango_value(value, state)
84
+ pango_text " #{value} ",
85
+ @config.fetch(:value_font, 'Helvetica-Narrow-Bold'),
86
+ @config.fetch(:coverage_font_color, 'white'),
87
+ @config.fetch(:coverage_font_size, '16'),
88
+ state_background(state)
89
+ end
90
+
91
+ def pango_text(text, font, font_color, font_size, background)
92
+ "<span foreground=\"#{font_color}\"
93
+ background=\"#{background}\"\
94
+ size=\"#{font_size.to_i * 1000}\"\
95
+ font=\"#{font}\"\
96
+ >#{text}</span>"
97
+ end
98
+
99
+ def state_background(state)
100
+ @config.fetch(:"value_background_#{state}", 'yellow')
101
+ end
102
+
103
+ def filename(suffix = '')
104
+ prefix = @config.fetch(:filename_prefix, 'badge')
105
+ format = @config.fetch(:format, 'png')
106
+ "#{output_path}/#{prefix}_#{suffix}.#{format}"
107
+ end
108
+
109
+ def title(suffix)
110
+ " #{@config.fetch(:title_prefix, 'badge')} #{suffix} "
111
+ end
112
+
113
+ def output_path
114
+ @config.fetch(:output_path, '.')
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RepoSmallBadge
4
+ VERSION = '0.1'
5
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+ require 'repo_small_badge/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = 'repo-small-badge'
8
+ s.version = RepoSmallBadge::VERSION
9
+ s.platform = Gem::Platform::RUBY
10
+ s.authors = ['Marc Grimme']
11
+ s.email = ['marc.grimme at gmail dot com']
12
+ s.license = 'MIT'
13
+ s.homepage = 'https://github.com/marcgrimme/repo-small-badge'
14
+ s.summary = %(Small Badge generator to be used for different tools 4 ruby)
15
+ s.description = %(Small Badge generator to be used for different tools 4 ruby)
16
+
17
+ s.rubyforge_project = 'repo-small-badge'
18
+
19
+ s.add_dependency 'mini_magick'
20
+ s.add_development_dependency 'rake'
21
+ s.add_development_dependency 'rspec'
22
+ s.add_development_dependency 'rubocop'
23
+ s.add_development_dependency 'simplecov'
24
+ # s.add_development_dependency 'simplecov-small-badge'
25
+
26
+ s.files = `git ls-files`.split("\n")
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
+ s.executables = `git ls-files -- bin/*`
29
+ .split("\n").map { |f| File.basename(f) }
30
+ s.require_paths = ['lib']
31
+ end
data/script/travis.sh ADDED
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+ set -e
3
+ RUBYCRITICLIMIT=${RUBYCRITICLIMIT:-"90.0"}
4
+
5
+ bundle exec rspec
6
+ bundle exec rubocop
7
+ gem install bundler-audit && bundle-audit update && bundle-audit check
8
+ gem install rubycritic && rubycritic app lib config ${RUBYCRITICPARAMS} --format console --minimum-score ${RUBYCRITICLIMIT}
9
+ echo "Pushing badges upstream"
10
+ [ -d badges ] || mkdir badges
11
+ cp coverage/*.png badges/ 2>/dev/null || true
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe RepoSmallBadge::Image do
6
+ include TestRepoSmallBadge::Mocks
7
+
8
+ context '#coverage_total' do
9
+ describe '#coverage' do
10
+ it do
11
+ mock_mini_magick(name: 'total', title: 'badge Total',
12
+ color: 'yellow', value: '100',
13
+ output_path: '.',
14
+ stack: mock_mini_magick_stack)
15
+ expect(subject.badge('total', 'Total', 100, 'good'))
16
+ .to be_truthy
17
+ end
18
+
19
+ context 'without rounded' do
20
+ subject { described_class.new(rounded_border: false) }
21
+ it do
22
+ mock_mini_magick(name: 'total', title: 'badge Total',
23
+ color: 'yellow', value: '100',
24
+ rounded_border: false,
25
+ output_path: '.',
26
+ stack: mock_mini_magick_stack)
27
+ expect(subject.badge('total', 'Total', 100, 'good')).to be_truthy
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'simplecov'
4
+ require 'byebug'
5
+
6
+ SimpleCov.start do
7
+ # module SimpleCovSmallBadge
8
+ # class Formatter
9
+ # end
10
+ # end
11
+ #
12
+ # SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
13
+ # [
14
+ # SimpleCov::Formatter::HTMLFormatter,
15
+ # SimpleCovSmallBadge::Formatter
16
+ # ]
17
+ # )
18
+ end
19
+
20
+ SimpleCov.minimum_coverage 100
21
+
22
+ # require 'simplecov-small-badge'
23
+ require 'repo_small_badge'
24
+ require 'rubygems'
25
+ require 'bundler/setup'
26
+
27
+ Dir[File.join('./spec/support/*.rb')].each { |f| require f }
28
+
29
+ # SimpleCovSmallBadge.configure do |config|
30
+ # # config.rounded_border = false
31
+ # end
32
+
33
+ RSpec.configure do |config|
34
+ # some (optional) config here
35
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TestRepoSmallBadge
4
+ module Mocks
5
+ # rubocop:disable Metrics/LineLength
6
+ def pango_text_match(title = 'badge', color = 'green', value = '100')
7
+ %(<span foreground="white"
8
+ background="#595959" size="16000" font="Helvetica" > #{title} </span><span foreground="white"
9
+ background="#{color}" size="16000" font="Helvetica-Narrow-Bold" > #{value} </span>)
10
+ end
11
+ # rubocop:enable Metrics/LineLength
12
+
13
+ # rubocop:disable Metrics/LineLength, Metrics/AbcSize
14
+ def mock_mini_magick_stack(stack = instance_double('Stack'))
15
+ allow(stack).to receive_message_chain('clone.+')
16
+ allow(stack).to receive(:alpha).with('extract')
17
+ allow(stack).to receive(:draw).with('fill black polygon 0,0 0,3 3,0 fill white circle 3,3 3,0')
18
+ allow(stack).to receive(:flip)
19
+ allow(stack).to receive(:flop)
20
+ allow(stack).to receive(:compose).with('Multiply')
21
+ allow(stack).to receive(:composite)
22
+ allow(stack).to receive(:stack).and_yield(stack)
23
+ stack
24
+ end
25
+ # rubocop:enable Metrics/LineLength, Metrics/AbcSize
26
+
27
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
28
+ def mock_mini_magick(**keys)
29
+ keys[:convert] ||= instance_double('Convert')
30
+ convert = keys[:convert]
31
+ pango_text = pango_text_match(keys[:title], keys[:color], keys[:value])
32
+ allow(MiniMagick::Tool::Convert)
33
+ .to receive(:new).and_yield(keys[:convert])
34
+ allow(convert).to receive(:gravity).with('center')
35
+ allow(convert).to receive(:background).with('transparent')
36
+ allow(convert).to receive(:pango).with(pango_text)
37
+
38
+ if keys.fetch(:rounded_border, true)
39
+ allow(convert).to receive(:stack).and_yield(keys[:stack])
40
+ allow(convert).to receive(:compose).with('CopyOpacity')
41
+ allow(convert).to receive(:alpha).with('off')
42
+ allow(convert).to receive(:composite)
43
+ end
44
+ allow(convert).to receive(:<<)
45
+ .with("#{keys[:output_path]}/badge_#{keys[:name]}.png")
46
+ convert
47
+ end
48
+ # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
49
+ end
50
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: repo-small-badge
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Marc Grimme
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-02-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mini_magick
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Small Badge generator to be used for different tools 4 ruby
84
+ email:
85
+ - marc.grimme at gmail dot com
86
+ executables:
87
+ - console
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".document"
92
+ - ".gitignore"
93
+ - ".rspec"
94
+ - ".rubocop.yml"
95
+ - ".ruby-gemset"
96
+ - ".ruby-version"
97
+ - ".travis.yml"
98
+ - Gemfile
99
+ - MIT-LICENSE
100
+ - README.md
101
+ - Rakefile
102
+ - bin/console
103
+ - lib/repo_small_badge.rb
104
+ - lib/repo_small_badge/image.rb
105
+ - lib/repo_small_badge/version.rb
106
+ - repo-small-badge.gemspec
107
+ - script/travis.sh
108
+ - spec/repo_small_badge_spec.rb
109
+ - spec/spec_helper.rb
110
+ - spec/support/mocks.rb
111
+ homepage: https://github.com/marcgrimme/repo-small-badge
112
+ licenses:
113
+ - MIT
114
+ metadata: {}
115
+ post_install_message:
116
+ rdoc_options: []
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ requirements: []
130
+ rubyforge_project: repo-small-badge
131
+ rubygems_version: 2.7.6
132
+ signing_key:
133
+ specification_version: 4
134
+ summary: Small Badge generator to be used for different tools 4 ruby
135
+ test_files: []