fa_rails 0.1.22 → 0.1.27
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/.ruby-version +1 -0
- data/Gemfile.lock +3 -3
- data/README.md +23 -7
- data/fa_rails.gemspec +2 -2
- data/lib/fa/base.rb +15 -5
- data/spec/lib/fa_spec.rb +30 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79592033f8cde3a69b9c151928289df8ea5564c6657c3c32aba9464ea5a80014
|
4
|
+
data.tar.gz: 5e30a6766b53e7563dd1759656ab04e50720fb270e72509196fbdb1045bf9813
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a43c475dd94f739d326a2f855f69bd525d47935113eb77a193787eded0879bee3985548da66fa99a1628b9fc9afe04ceba9ee63e450cc2b94d03b3f855a42b8d
|
7
|
+
data.tar.gz: 45338d64be37baddb0ef1802a0b13a8338d304104305e262ec2f201dbb5009bea8f2c3f5afdfbf3ccd9f561a66c182cd8923a3b768e5e16a00103d4039f396c6
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.5.1
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fa_rails (0.1.
|
4
|
+
fa_rails (0.1.27)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
diff-lcs (1.3)
|
10
10
|
docile (1.3.1)
|
11
|
-
json (2.1
|
12
|
-
rake (12.3.
|
11
|
+
json (2.3.1)
|
12
|
+
rake (12.3.3)
|
13
13
|
rspec (3.7.0)
|
14
14
|
rspec-core (~> 3.7.0)
|
15
15
|
rspec-expectations (~> 3.7.0)
|
data/README.md
CHANGED
@@ -29,29 +29,41 @@ corresponding locations in your app, and ensure you correctly include all files.
|
|
29
29
|
|
30
30
|
### FontAwesome CDN
|
31
31
|
|
32
|
-
|
33
|
-
[How to Use](https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css)
|
34
|
-
page and copy the appropriate CDN link tag.
|
32
|
+
You can also link into the FontAwesome CDN, in either of two ways:
|
35
33
|
|
36
|
-
|
34
|
+
#### Version-Specific Link
|
35
|
+
|
36
|
+
You can use this helper method in your layout:
|
37
37
|
|
38
38
|
```ruby
|
39
39
|
FA::Link.new(version: 'v5.3.1', integrity: 'sha384-some-key-here').safe
|
40
40
|
```
|
41
41
|
|
42
|
-
|
42
|
+
Or, go to the FontAwesome
|
43
|
+
[How to Use](https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css)
|
44
|
+
page and copy the appropriate CDN link tag.
|
45
|
+
|
46
|
+
**Be sure to also register each domain that will use this CDN link.**
|
47
|
+
|
48
|
+
##### Free
|
43
49
|
|
44
50
|
```html
|
45
51
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-some-key-here" crossorigin="anonymous">
|
46
52
|
```
|
47
53
|
|
48
|
-
|
54
|
+
##### Pro
|
49
55
|
|
50
56
|
```html
|
51
57
|
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-some-key-here" crossorigin="anonymous">
|
52
58
|
```
|
53
59
|
|
54
|
-
|
60
|
+
#### Kit Link
|
61
|
+
|
62
|
+
Use this helper method in your layout:
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
FA::Link.kit('kit-id')
|
66
|
+
```
|
55
67
|
|
56
68
|
## Usage
|
57
69
|
|
@@ -147,6 +159,10 @@ css #=> String – arbitrary CSS classes, space-delimited, applied to the layer
|
|
147
159
|
FA::Icon.p('lock', fa: 'fw')
|
148
160
|
#=> "<i class='fas fa-fw fa-lock fa-1x' style='' data-fa-transform='' title=''></i>"
|
149
161
|
|
162
|
+
# Duotone fire-alt icon with swapped opacity
|
163
|
+
FA::Icon.p('fire-alt', fa: 'swap-opacity')
|
164
|
+
#=> "<i class='fas fa-swap-opacity fa-fire-alt fa-1x' style='' data-fa-transform='' title=''></i>"
|
165
|
+
|
150
166
|
# Duotone fire-alt icon with specified opacities
|
151
167
|
FA::Icon.p('fire-alt', style: :duotone, raw_css: { '--fa-primary-opacity' => '0.6', '--fa-secondary-opacity' => '0.4' })
|
152
168
|
#=> "<i class='fad fa-fire-alt fa-1x' style='--fa-primary-opacity: 0.4; --fa-secondary-opacity: 0.6;' data-fa-transform='' title=''></i>"
|
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 = '
|
3
|
+
s.version = '0.1.27'
|
4
|
+
s.date = '2021-05-26'
|
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
@@ -3,6 +3,11 @@
|
|
3
3
|
module FA
|
4
4
|
# FontAwesome 5 (Pro) Helper core class for inheritance
|
5
5
|
class Base
|
6
|
+
STYLES = {
|
7
|
+
solid: 's', regular: 'r', light: 'l', thin: 't',
|
8
|
+
duotone: 'd', brands: 'b', kit_upload: 'k'
|
9
|
+
}.freeze
|
10
|
+
|
6
11
|
# Outputs the formatted string directly.
|
7
12
|
def raw
|
8
13
|
#
|
@@ -101,8 +106,13 @@ module FA
|
|
101
106
|
def parse_classes(options)
|
102
107
|
@classes = []
|
103
108
|
@classes << parse_style(options)
|
104
|
-
@classes << options[:fa]
|
105
|
-
@classes << options[:css]
|
109
|
+
@classes << format_classes(options[:fa], prefix: 'fa-')
|
110
|
+
@classes << format_classes(options[:css])
|
111
|
+
end
|
112
|
+
|
113
|
+
def format_classes(classes, prefix: nil)
|
114
|
+
classes = classes.to_s.split(' ') unless classes.is_a?(Array)
|
115
|
+
classes.map { |c| "#{prefix}#{c}" }
|
106
116
|
end
|
107
117
|
|
108
118
|
def merge_fa_styles(options)
|
@@ -130,10 +140,10 @@ module FA
|
|
130
140
|
end
|
131
141
|
|
132
142
|
def parse_style(options)
|
133
|
-
return if options[:css].to_s.match?(
|
134
|
-
return 'fas' unless
|
143
|
+
return if options[:css].to_s.match?(/\bfa[#{STYLES.values.join}]\b/)
|
144
|
+
return 'fas' unless STYLES.keys.include?(options[:style])
|
135
145
|
|
136
|
-
'fa' +
|
146
|
+
'fa' + STYLES[options[:style]]
|
137
147
|
end
|
138
148
|
end
|
139
149
|
end
|
data/spec/lib/fa_spec.rb
CHANGED
@@ -47,6 +47,36 @@ RSpec.describe FA do
|
|
47
47
|
)
|
48
48
|
end
|
49
49
|
|
50
|
+
it 'should correctly handle a string fa option' do
|
51
|
+
expect(FA::Icon.p(:help, fa: 'fw 2x')).to eql(
|
52
|
+
"<i class='fas fa-fw fa-2x fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should correctly handle an array fa option' do
|
57
|
+
expect(FA::Icon.p(:help, fa: %i[fw 2x])).to eql(
|
58
|
+
"<i class='fas fa-fw fa-2x fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'should correctly handle a string css option' do
|
63
|
+
expect(FA::Icon.p(:help, css: 'green big')).to eql(
|
64
|
+
"<i class='fas green big fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should correctly handle an array css option' do
|
69
|
+
expect(FA::Icon.p(:help, css: %i[green big])).to eql(
|
70
|
+
"<i class='fas green big fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
71
|
+
)
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'should correctly handle a nil css option' do
|
75
|
+
expect(FA::Icon.p(:help, css: nil)).to eql(
|
76
|
+
"<i class='fas fa-help fa-1x' style='' data-fa-transform='' title=''></i>"
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
50
80
|
it 'should raise ArgumentError for other input types' do
|
51
81
|
[nil, [], 0].each do |fa|
|
52
82
|
expect { FA::Icon.p(fa) }.to raise_error(
|
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.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Fiander
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -77,6 +77,7 @@ extensions: []
|
|
77
77
|
extra_rdoc_files: []
|
78
78
|
files:
|
79
79
|
- ".gitignore"
|
80
|
+
- ".ruby-version"
|
80
81
|
- ".travis.yml"
|
81
82
|
- Gemfile
|
82
83
|
- Gemfile.lock
|