scarf 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/scarf.rb +17 -0
- data/lib/scarf/configuration.rb +10 -0
- data/lib/scarf/initial_avatar.rb +5 -8
- data/lib/scarf/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83409d7ba92e1916a731e13f3f3eddefe7ae7c46
|
4
|
+
data.tar.gz: b4683a50e8dd5e739e4c435e686cccf50bdf599a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07d0bfd396807645232bdcbc5c2eb14822678a1acf3c8bce93533dd62ccdd4a9930f6243769fa005f1545dab16ca2722a685e949099a9daf03437f1ddb0ffadf
|
7
|
+
data.tar.gz: 5f9247ed99a4922c12fc0db9171776038a3e1b067df936b167da74268d8bb6bb97f966b0804932d43c4f7365162ec903fa2d571be2093b5bf3ffa932ac6e4ec4
|
data/lib/scarf.rb
CHANGED
@@ -1,4 +1,21 @@
|
|
1
1
|
require 'digest/sha1'
|
2
|
+
|
3
|
+
require_relative 'scarf/configuration'
|
2
4
|
require_relative 'scarf/image_svg'
|
3
5
|
require_relative 'scarf/identicon'
|
4
6
|
require_relative 'scarf/initial_avatar'
|
7
|
+
|
8
|
+
# A Ruby library for generating initial avatars and identicons.
|
9
|
+
module Scarf
|
10
|
+
class << self
|
11
|
+
attr_writer :configuration
|
12
|
+
|
13
|
+
def configuration
|
14
|
+
@configuration ||= Configuration.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def configure
|
18
|
+
yield(configuration)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/scarf/initial_avatar.rb
CHANGED
@@ -2,7 +2,7 @@ module Scarf
|
|
2
2
|
class InitialAvatar
|
3
3
|
def initialize(name, font_family: [])
|
4
4
|
@name = name
|
5
|
-
@font_family = font_family
|
5
|
+
@font_family = font_family.length > 0 ? font_family : Scarf.configuration.font_family
|
6
6
|
end
|
7
7
|
|
8
8
|
BACKGROUND = %w(#ff4040 #7f2020 #cc5c33 #734939 #bf9c8f #995200 #4c2900 #f2a200 #ffd580 #332b1a #4c3d00 #ffee00 #b0b386 #64664d #6c8020 #c3d96c #143300 #19bf00 #53a669 #bfffd9 #40ffbf #1a332e #00b3a7 #165955 #00b8e6 #69818c #005ce6 #6086bf #000e66 #202440 #393973 #4700b3 #2b0d33 #aa86b3 #ee00ff #bf60b9 #4d3949 #ff00aa #7f0044 #f20061 #330007 #d96c7b).freeze
|
@@ -11,25 +11,22 @@ module Scarf
|
|
11
11
|
<<~WRAPPER.gsub(/$\s+/, '').strip
|
12
12
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100">
|
13
13
|
<circle cx="50" cy="50" r="50" fill="#{background_fill}" />
|
14
|
-
<text fill="#{foreground_fill}" font-size="50" font-family="#{
|
14
|
+
<text fill="#{foreground_fill}" font-size="50" font-family="#{quoted_fonts}" x="50" y="50" text-anchor="middle" alignment-baseline="central">#{initials}</text>
|
15
15
|
</svg>
|
16
16
|
WRAPPER
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
-
# Default to sans-serif.
|
22
|
-
def font_family
|
23
|
-
(quoted_fonts + %w(sans-serif)).join(', ')
|
24
|
-
end
|
25
|
-
|
26
21
|
# Surround the font name with single quotes if there's a space in the name, and isn't quoted already.
|
27
22
|
def quoted_fonts
|
28
|
-
@font_family.map do |font|
|
23
|
+
quoted_fonts = @font_family.map do |font|
|
29
24
|
return font unless font.include?(' ')
|
30
25
|
return font if font[0] == "'"
|
31
26
|
"'#{font}'"
|
32
27
|
end
|
28
|
+
|
29
|
+
quoted_fonts.join(', ')
|
33
30
|
end
|
34
31
|
|
35
32
|
# Returns a deterministic background fill for a given name.
|
data/lib/scarf/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scarf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hari Gopal
|
@@ -60,6 +60,7 @@ extensions: []
|
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
62
|
- lib/scarf.rb
|
63
|
+
- lib/scarf/configuration.rb
|
63
64
|
- lib/scarf/identicon.rb
|
64
65
|
- lib/scarf/image_svg.rb
|
65
66
|
- lib/scarf/initial_avatar.rb
|