scarf 0.2.6 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35752b488c66f0c6531356f863c482aa726fd701d00d26f4d6fbb063629553cf
4
- data.tar.gz: 5657738a866479e6ee540f184491244aaa9559673a630293383fbbb73c23cb0d
3
+ metadata.gz: 48f39ad7df57e0c4e3ec6dd7783c3e7f7c2f01476b57506919db2cd7b46eb348
4
+ data.tar.gz: 4b874107a0b23d05ee5a5cc348ae1d73d3691d08a35de25bae1aa250014ddb24
5
5
  SHA512:
6
- metadata.gz: 05a05ebd174085dd060904e16703b89fedd974ef79c2a77a6dc7cd5739b07504f6024b8f21fdb22d63121b3b11b1896fd7a75cd614091de781b42f0022277a78
7
- data.tar.gz: 5776353197f6e6e09e290b2141a100cf3086a58aa7b68851b4f7aef904bf0a69f0140d5e76300abcef05b74a05116730656be252d14412cd2c74e1725b6f9819
6
+ metadata.gz: 15becc41b860df0959b2474733b32fdc6d009f4cfc91cbf8f103fcdfa42f6ac0fb724690688abdbcbdfdc0c74fe58da8c3f4e674d59f3b4836a8d9e131e6abbb
7
+ data.tar.gz: 412ba858472718fa74d335a73be41c2c36a1710e353d71482b448731bfa45e18954994c33b569dd82e89e3f7624a717f01aa1e4a04da82fd7e4bc5cd32fe0b40
@@ -1,12 +1,20 @@
1
1
  module Scarf
2
2
  # Store configuration for this gem.
3
3
  class Configuration
4
+ 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
4
5
  attr_accessor :font_family
6
+ attr_accessor :font_weight
7
+ attr_accessor :font_size
5
8
  attr_accessor :background_shape
9
+ attr_accessor :background_colors
6
10
 
7
11
  def initialize
8
12
  @font_family = %w(sans-serif)
13
+ # normal | bold | bolder | lighter | <number>
14
+ @font_weight = 'normal'
15
+ @font_size = '42'
9
16
  @background_shape = :circle
17
+ @background_colors = BACKGROUND
10
18
  end
11
19
  end
12
20
  end
@@ -1,18 +1,19 @@
1
1
  module Scarf
2
2
  class InitialAvatar
3
- def initialize(name, font_family: [], background_shape: nil)
3
+ def initialize(name, font_family: [], font_weight: nil, font_size: nil, background_shape: nil, background_colors: [])
4
4
  @name = name
5
5
  @font_family = font_family.length.zero? ? Scarf.configuration.font_family : font_family
6
+ @font_weight = font_weight.nil? ? Scarf.configuration.font_weight : font_weight
7
+ @font_size = font_size.nil? ? Scarf.configuration.font_size : font_size
6
8
  @background_shape = background_shape.nil? ? Scarf.configuration.background_shape : background_shape
9
+ @background_colors = background_colors.length.zero? ? Scarf.configuration.background_colors : background_colors
7
10
  end
8
11
 
9
- 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
10
-
11
12
  def svg
12
13
  <<~WRAPPER.gsub(/$\s+/, '').strip
13
14
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100">
14
15
  #{background}
15
- <text fill="#{foreground_fill}" font-size="42" font-family="#{quoted_fonts}" x="50" y="54" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle">#{initials}</text>
16
+ <text fill="#{foreground_fill}" font-size="#{@font_size}" font-weight="#{@font_weight}" font-family="#{quoted_fonts}" x="50" y="54" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle">#{initials}</text>
16
17
  </svg>
17
18
  WRAPPER
18
19
  end
@@ -47,8 +48,8 @@ module Scarf
47
48
  def background_fill
48
49
  @background_fill ||= begin
49
50
  digest = "0.#{Digest::MD5.hexdigest(@name).to_i(16).to_s}".to_f
50
- index = (digest * (BACKGROUND.length - 1)).round
51
- BACKGROUND[index]
51
+ index = (digest * (@background_colors.length - 1)).round
52
+ @background_colors[index]
52
53
  end
53
54
  end
54
55
 
data/lib/scarf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Scarf
2
- VERSION = '0.2.6'
2
+ VERSION = '0.3.0'
3
3
  end
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.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hari Gopal
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-02-16 00:00:00.000000000 Z
12
+ date: 2021-12-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -67,7 +67,8 @@ dependencies:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '2.0'
70
- description: A Ruby library for generating initial avatars and identicons.
70
+ description: A Ruby library for generating initial avatars and identicons, with configurable
71
+ fonts, colors, and shapes.
71
72
  email: mail@harigopal.in
72
73
  executables: []
73
74
  extensions: []
@@ -99,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
100
  - !ruby/object:Gem::Version
100
101
  version: '0'
101
102
  requirements: []
102
- rubygems_version: 3.1.2
103
+ rubygems_version: 3.2.32
103
104
  signing_key:
104
105
  specification_version: 4
105
106
  summary: A Ruby library for generating initial avatars and identicons.