gh_badges 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,29 @@
1
+ module GhBadges
2
+ class PrecalculatedTextMeasurer
3
+ def self.default
4
+ @default ||= begin
5
+ o = GhBadges.default_widths
6
+
7
+ new(o['mean-character-length'],
8
+ o['character-lengths'],
9
+ o['kerning-pairs'])
10
+ end
11
+ end
12
+
13
+ def initialize(default_character_width, char_to_width, pair_to_kern)
14
+ @default_character_width = default_character_width
15
+ @char_to_width = char_to_width
16
+ @pair_to_kern = pair_to_kern
17
+ end
18
+
19
+ def text_width(text)
20
+ width = 0
21
+ text.each_char.with_index do |c, index|
22
+ width += @char_to_width.fetch(c, @default_character_width)
23
+ width -= @pair_to_kern.fetch(text[index..(index + 2)], 0)
24
+ end
25
+
26
+ width
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,3 @@
1
+ module GhBadges
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gh_badges
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Bohdan Zhuravel
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-09-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.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: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description:
56
+ email:
57
+ - bohdan@zhuravel.bz
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - ".travis.yml"
65
+ - Gemfile
66
+ - Gemfile.lock
67
+ - LICENSE.txt
68
+ - README.md
69
+ - Rakefile
70
+ - bin/console
71
+ - bin/setup
72
+ - gh_badges.gemspec
73
+ - lib/gh_badges.rb
74
+ - lib/gh_badges/badge_template.rb
75
+ - lib/gh_badges/default_widths.rb
76
+ - lib/gh_badges/precalculated_text_measurer.rb
77
+ - lib/gh_badges/version.rb
78
+ homepage: https://github.com/zhuravel/gh_badges
79
+ licenses:
80
+ - MIT
81
+ metadata: {}
82
+ post_install_message:
83
+ rdoc_options: []
84
+ require_paths:
85
+ - lib
86
+ required_ruby_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ requirements: []
97
+ rubyforge_project:
98
+ rubygems_version: 2.7.7
99
+ signing_key:
100
+ specification_version: 4
101
+ summary: A library and command-line tool for generating Github-style badges.
102
+ test_files: []