fa_rails 0.1.20 → 0.1.21
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/Gemfile.lock +1 -1
- data/README.md +12 -6
- data/fa_rails.gemspec +2 -2
- data/lib/fa/base.rb +8 -3
- data/spec/lib/fa_spec.rb +15 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f664c27729b24055feaa406ad8847a1cd8e2c6bf176d513dff946c0cacfd088b
|
4
|
+
data.tar.gz: c2b3557385fe58d2c0cc87cc5f88b64b4a420cbf4ab521062e794253e2fc2672
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f5b7a3d34e521837f5576c4a4da657c6e7d91fb30a131a32427f1750ffd183ab0281c1f11209c370ad96a11810f1e3a0b5381a947b6a126288aaa17e0652127
|
7
|
+
data.tar.gz: c6bfde33dce0ae1403553ca8ff1e36943e203ba6819010b9845b442e0ae46a242c16c63c424c121475af3fa6652f687dcec671150c4bff55613ac491cdeec7fc
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -90,6 +90,7 @@ options #=> Hash
|
|
90
90
|
size: Integer # Stepped scaling factor
|
91
91
|
|
92
92
|
css: String # Arbitrary CSS classes, space-delimited
|
93
|
+
raw_css: Hash # Arbitrary raw CSS, as a hash of attributes and values
|
93
94
|
fa: String # Arbitrary FA classes, space-delimited – each is automatically prefixed with `fa-`
|
94
95
|
title: String #=> Tooltip text
|
95
96
|
grow: Integer #=> Transform value – amount to grow by
|
@@ -114,6 +115,7 @@ options #=> Hash
|
|
114
115
|
position: Symbol # Indicator of which corner to display on – one of [:tr, :tl, :br, :bl]
|
115
116
|
|
116
117
|
css: String # Arbitrary CSS classes, space-delimited
|
118
|
+
raw_css: Hash # Arbitrary raw CSS, as a hash of attributes and values
|
117
119
|
fa: String # Arbitrary FA classes, space-delimited – each is automatically prefixed with `fa-`
|
118
120
|
title: String #=> Tooltip text
|
119
121
|
grow: Integer #=> Transform value – amount to grow by
|
@@ -143,24 +145,28 @@ css #=> String – arbitrary CSS classes, space-delimited, applied to the layer
|
|
143
145
|
```ruby
|
144
146
|
# Fixed-width lock icon
|
145
147
|
FA::Icon.p('lock', fa: 'fw')
|
146
|
-
#=> "<i class='fas fa-fw fa-lock fa-1x' data-fa-transform='' title=''></i>"
|
148
|
+
#=> "<i class='fas fa-fw fa-lock fa-1x' style='' data-fa-transform='' title=''></i>"
|
149
|
+
|
150
|
+
# Duotone fire-alt icon with specified opacities
|
151
|
+
FA::Icon.p('fire-alt', style: :duotone, raw_css: { '--fa-primary-opacity' => '0.6', '--fa-secondary-opacity' => '0.4' })
|
152
|
+
#=> "<i class='fad fa-fire-alt fa-1x' style='--fa-primary-opacity: 0.4; --fa-secondary-opacity: 0.6;' data-fa-transform='' title=''></i>"
|
147
153
|
|
148
154
|
# Counter span, with value 5
|
149
155
|
FA::Span.p('counter', 5)
|
150
|
-
#=> "<span class='fa-layers-counter ' data-fa-transform=''>5</span>"
|
156
|
+
#=> "<span class='fa-layers-counter ' style='' data-fa-transform=''>5</span>"
|
151
157
|
|
152
158
|
# Gray envelope icon with red exclamation mark overlayed, with tooltip 'Invalid email address'
|
153
159
|
FA::Layer.p([{ name: 'envelope', options: { css: :gray } }, { name: 'exclamation', options: { css: :red } }], title: 'Invalid email address')
|
154
160
|
#=> "<span class='icon fa-layers fa-stack fa-fw ' title='Invalid email address'>" \
|
155
|
-
# "<i class='fas fa-stack-1x gray fa-envelope fa-1x' data-fa-transform='grow-0' title='Invalid email address'></i>" \
|
156
|
-
# "<i class='fas fa-stack-1x red fa-exclamation fa-1x' data-fa-transform='grow-0' title='Invalid email address'></i>" \
|
161
|
+
# "<i class='fas fa-stack-1x gray fa-envelope fa-1x' style='' data-fa-transform='grow-0' title='Invalid email address'></i>" \
|
162
|
+
# "<i class='fas fa-stack-1x red fa-exclamation fa-1x' style='' data-fa-transform='grow-0' title='Invalid email address'></i>" \
|
157
163
|
# "</span>"
|
158
164
|
|
159
165
|
# Blue envelope with red counter on the top left corner, with value 7
|
160
166
|
FA::Layer.p([{ name: 'envelope', options: { css: :blue } }, { name: 'counter', text: 7, options: { css: :red, position: :tl } }])
|
161
167
|
#=> "<span class='icon fa-layers fa-stack fa-fw ' title=''>" \
|
162
|
-
# "<i class='fas fa-stack-1x blue fa-envelope fa-1x' data-fa-transform='grow-0' title=''></i>" \
|
163
|
-
# "<span class='fa-stack-1x red fa-layers-counter fa-layers-top-left' data-fa-transform='grow-0'>7</span>" \
|
168
|
+
# "<i class='fas fa-stack-1x blue fa-envelope fa-1x' style='' data-fa-transform='grow-0' title=''></i>" \
|
169
|
+
# "<span class='fa-stack-1x red fa-layers-counter fa-layers-top-left' style='' data-fa-transform='grow-0'>7</span>" \
|
164
170
|
# "</span>"
|
165
171
|
|
166
172
|
# The same stack, but using the FA::Build DSL (with various syntaxes).
|
data/fa_rails.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'fa_rails'
|
3
|
-
s.version = '0.1.
|
4
|
-
s.date = '2019-
|
3
|
+
s.version = '0.1.21'
|
4
|
+
s.date = '2019-08-09'
|
5
5
|
s.summary = 'FontAwesome helper for Rails'
|
6
6
|
s.description = 'A helper module for using FontAwesome icons in Rails.'
|
7
7
|
s.homepage = 'http://rubygems.org/gems/fa_rails'
|
data/lib/fa/base.rb
CHANGED
@@ -43,7 +43,7 @@ module FA
|
|
43
43
|
css = @classes.flatten.join(' ')
|
44
44
|
transforms = @transforms.join(' ')
|
45
45
|
|
46
|
-
"<i class='#{css}' data-fa-transform='#{transforms}' " \
|
46
|
+
"<i class='#{css}' style='#{@styles}' data-fa-transform='#{transforms}' " \
|
47
47
|
"title='#{options[:title]}'></i>"
|
48
48
|
end
|
49
49
|
|
@@ -59,11 +59,11 @@ module FA
|
|
59
59
|
css = @classes.flatten.reject { |c| c.to_s.match?(/^fa.$/) }.join(' ')
|
60
60
|
transforms = @transforms.join(' ')
|
61
61
|
|
62
|
-
"<span class='#{css}' data-fa-transform='#{transforms}'>#{text}</span>"
|
62
|
+
"<span class='#{css}' style='#{@styles}' data-fa-transform='#{transforms}'>#{text}</span>"
|
63
63
|
end
|
64
64
|
|
65
65
|
def fa_options(options)
|
66
|
-
default = { style: :solid, css: '', fa: '', size: 1 }
|
66
|
+
default = { style: :solid, css: '', raw_css: {}, fa: '', size: 1 }
|
67
67
|
|
68
68
|
default.merge(options.to_h)
|
69
69
|
end
|
@@ -93,6 +93,7 @@ module FA
|
|
93
93
|
|
94
94
|
def parse_options(options)
|
95
95
|
parse_classes(options)
|
96
|
+
parse_styles(options)
|
96
97
|
parse_transforms(options)
|
97
98
|
end
|
98
99
|
|
@@ -103,6 +104,10 @@ module FA
|
|
103
104
|
@classes << options[:css].to_s.split(' ')
|
104
105
|
end
|
105
106
|
|
107
|
+
def parse_styles(options)
|
108
|
+
@styles = options[:raw_css].map { |k, v| "#{k}: #{v};" }.join(' ')
|
109
|
+
end
|
110
|
+
|
106
111
|
def parse_transforms(options)
|
107
112
|
@transforms = []
|
108
113
|
%i[grow shrink rotate up down left right].each do |transform|
|
data/spec/lib/fa_spec.rb
CHANGED
@@ -30,18 +30,18 @@ RSpec.describe FA do
|
|
30
30
|
describe 'icon' do
|
31
31
|
it 'should generate the correct icon from a string or symbol name' do
|
32
32
|
expect(FA::Icon.p('help')).to eql(
|
33
|
-
"<i class='fas fa-help fa-1x' data-fa-transform='' title=''></i>"
|
33
|
+
"<i class='fas fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
34
34
|
)
|
35
35
|
|
36
36
|
expect(FA::Icon.p(:help)).to eql(
|
37
|
-
"<i class='fas fa-help fa-1x' data-fa-transform='' title=''></i>"
|
37
|
+
"<i class='fas fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
38
38
|
)
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'should generate the correct icon from a configuration hash' do
|
42
42
|
fa = { name: 'help', options: { style: :light, size: 2 } }
|
43
43
|
expect(FA::Icon.p(fa)).to eql(
|
44
|
-
"<i class='fal fa-help fa-2x' data-fa-transform='' title=''></i>"
|
44
|
+
"<i class='fal fa-help fa-2x' style='' data-fa-transform='' title=''></i>"
|
45
45
|
)
|
46
46
|
end
|
47
47
|
|
@@ -55,7 +55,7 @@ RSpec.describe FA do
|
|
55
55
|
|
56
56
|
it 'should generate the correct brand icon' do
|
57
57
|
expect(FA::Icon.p(:github, style: :brands)).to eql(
|
58
|
-
"<i class='fab fa-github fa-1x' data-fa-transform='' title=''></i>"
|
58
|
+
"<i class='fab fa-github fa-1x' style='' data-fa-transform='' title=''></i>"
|
59
59
|
)
|
60
60
|
end
|
61
61
|
end
|
@@ -70,9 +70,9 @@ RSpec.describe FA do
|
|
70
70
|
|
71
71
|
expect(FA::Layer.p(icons, grow: 2)).to eql(
|
72
72
|
"<span class='icon fa-layers fa-stack fa-fw ' title=''>" \
|
73
|
-
"<i class='fas fa-stack-1x fa-square fa-1x' data-fa-transform='grow-2' title=''></i>" \
|
74
|
-
"<i class='fas fa-stack-1x fa-circle fa-1x' data-fa-transform='grow-3' title=''></i>" \
|
75
|
-
"<i class='far fa-stack-1x fa-exclamation fa-1x' data-fa-transform='grow-2' title=''></i>" \
|
73
|
+
"<i class='fas fa-stack-1x fa-square fa-1x' style='' data-fa-transform='grow-2' title=''></i>" \
|
74
|
+
"<i class='fas fa-stack-1x fa-circle fa-1x' style='' data-fa-transform='grow-3' title=''></i>" \
|
75
|
+
"<i class='far fa-stack-1x fa-exclamation fa-1x' style='' data-fa-transform='grow-2' title=''></i>" \
|
76
76
|
'</span>'
|
77
77
|
)
|
78
78
|
end
|
@@ -85,8 +85,8 @@ RSpec.describe FA do
|
|
85
85
|
|
86
86
|
expect(FA::Layer.p(icons)).to eql(
|
87
87
|
"<span class='icon fa-layers fa-stack fa-fw ' title=''>" \
|
88
|
-
"<i class='fas fa-stack-1x fa-square fa-1x' data-fa-transform='grow-0' title=''></i>" \
|
89
|
-
"<span class='fa-stack-1x fa-layers-counter fa-layers-top-left' data-fa-transform='grow-0'>17</span>" \
|
88
|
+
"<i class='fas fa-stack-1x fa-square fa-1x' style='' data-fa-transform='grow-0' title=''></i>" \
|
89
|
+
"<span class='fa-stack-1x fa-layers-counter fa-layers-top-left' style='' data-fa-transform='grow-0'>17</span>" \
|
90
90
|
'</span>'
|
91
91
|
)
|
92
92
|
end
|
@@ -99,8 +99,8 @@ RSpec.describe FA do
|
|
99
99
|
|
100
100
|
expect(FA::Layer.p(icons, title: 'right')).to eql(
|
101
101
|
"<span class='icon fa-layers fa-stack fa-fw ' title='right'>" \
|
102
|
-
"<i class='fas fa-stack-1x fa-square fa-1x' data-fa-transform='grow-0' title='right'></i>" \
|
103
|
-
"<i class='fas fa-stack-1x fa-exclamation fa-1x' data-fa-transform='grow-0' title='right'></i>" \
|
102
|
+
"<i class='fas fa-stack-1x fa-square fa-1x' style='' data-fa-transform='grow-0' title='right'></i>" \
|
103
|
+
"<i class='fas fa-stack-1x fa-exclamation fa-1x' style='' data-fa-transform='grow-0' title='right'></i>" \
|
104
104
|
'</span>'
|
105
105
|
)
|
106
106
|
end
|
@@ -115,8 +115,8 @@ RSpec.describe FA do
|
|
115
115
|
|
116
116
|
expect(layer).to eql(
|
117
117
|
"<span class='icon fa-layers fa-stack fa-fw ' title=''>" \
|
118
|
-
"<i class='fas fa-stack-1x fa-circle fa-1x' data-fa-transform='grow-0' title=''></i>" \
|
119
|
-
"<span class='fa-stack-1x fa-layers-counter ' data-fa-transform='grow-0'>7</span>" \
|
118
|
+
"<i class='fas fa-stack-1x fa-circle fa-1x' style='' data-fa-transform='grow-0' title=''></i>" \
|
119
|
+
"<span class='fa-stack-1x fa-layers-counter ' style='' data-fa-transform='grow-0'>7</span>" \
|
120
120
|
'</span>'
|
121
121
|
)
|
122
122
|
end
|
@@ -125,7 +125,7 @@ RSpec.describe FA do
|
|
125
125
|
describe 'span' do
|
126
126
|
it 'should generate the correct span from a string or symbol type' do
|
127
127
|
expect(FA::Span.p(:text, 'Hello')).to eql(
|
128
|
-
"<span class='fa-layers-text ' data-fa-transform=''>Hello</span>"
|
128
|
+
"<span class='fa-layers-text ' style='' data-fa-transform=''>Hello</span>"
|
129
129
|
)
|
130
130
|
end
|
131
131
|
|
@@ -133,7 +133,7 @@ RSpec.describe FA do
|
|
133
133
|
span = { type: :text, text: 'World', options: { position: :bl } }
|
134
134
|
expect(FA::Span.p(span)).to eql(
|
135
135
|
"<span class='fa-layers-text fa-layers-bottom-left' " \
|
136
|
-
"data-fa-transform=''>World</span>"
|
136
|
+
"style='' data-fa-transform=''>World</span>"
|
137
137
|
)
|
138
138
|
end
|
139
139
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fa_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Fiander
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|