font_awesome5_rails 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/app/assets/fonts/fa-brands-400.eot +0 -0
  4. data/app/assets/fonts/fa-brands-400.svg +9 -3
  5. data/app/assets/fonts/fa-brands-400.ttf +0 -0
  6. data/app/assets/fonts/fa-brands-400.woff +0 -0
  7. data/app/assets/fonts/fa-brands-400.woff2 +0 -0
  8. data/app/assets/fonts/fa-regular-400.eot +0 -0
  9. data/app/assets/fonts/fa-regular-400.svg +1 -1
  10. data/app/assets/fonts/fa-regular-400.ttf +0 -0
  11. data/app/assets/fonts/fa-regular-400.woff +0 -0
  12. data/app/assets/fonts/fa-regular-400.woff2 +0 -0
  13. data/app/assets/fonts/fa-solid-900.eot +0 -0
  14. data/app/assets/fonts/fa-solid-900.svg +2 -2
  15. data/app/assets/fonts/fa-solid-900.ttf +0 -0
  16. data/app/assets/fonts/fa-solid-900.woff +0 -0
  17. data/app/assets/fonts/fa-solid-900.woff2 +0 -0
  18. data/app/assets/images/fa5/brands/java.svg +1 -0
  19. data/app/assets/images/fa5/brands/pied-piper-hat.svg +1 -0
  20. data/app/assets/images/fa5/brands/pied-piper.svg +1 -1
  21. data/app/assets/images/fa5/brands/readme.svg +1 -1
  22. data/app/assets/images/fa5/solid/dna.svg +1 -1
  23. data/app/assets/javascripts/fontawesome-all.min.js +2 -2
  24. data/app/assets/stylesheets/fa-svg-with-js.css +1 -1
  25. data/app/assets/stylesheets/fontawesome-all-old.css.scss +2855 -0
  26. data/app/assets/stylesheets/fontawesome-all.css.scss +23 -17
  27. data/app/helpers/font_awesome5/rails/icon_helper.rb +6 -6
  28. data/lib/font_awesome5_rails/parsers/fa_icon_parser.rb +2 -1
  29. data/lib/font_awesome5_rails/parsers/fa_layered_icon_parser.rb +2 -1
  30. data/lib/font_awesome5_rails/parsers/fa_stacked_icon_parser.rb +2 -1
  31. data/lib/font_awesome5_rails/parsers/parse_methods.rb +14 -0
  32. data/lib/font_awesome5_rails/version.rb +2 -2
  33. data/spec/font_awesome5_rails_spec.rb +29 -0
  34. metadata +5 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Font Awesome Free 5.0.9 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
4
  */
5
5
  .fa,
@@ -64,8 +64,8 @@
64
64
  list-style-type: none;
65
65
  margin-left: 2.5em;
66
66
  padding-left: 0; }
67
- .fa-ul > li {
68
- position: relative; }
67
+ .fa-ul > li {
68
+ position: relative; }
69
69
 
70
70
  .fa-li {
71
71
  left: -2em;
@@ -101,57 +101,57 @@
101
101
 
102
102
  .fa-spin {
103
103
  -webkit-animation: fa-spin 2s infinite linear;
104
- animation: fa-spin 2s infinite linear; }
104
+ animation: fa-spin 2s infinite linear; }
105
105
 
106
106
  .fa-pulse {
107
107
  -webkit-animation: fa-spin 1s infinite steps(8);
108
- animation: fa-spin 1s infinite steps(8); }
108
+ animation: fa-spin 1s infinite steps(8); }
109
109
 
110
110
  @-webkit-keyframes fa-spin {
111
111
  0% {
112
112
  -webkit-transform: rotate(0deg);
113
- transform: rotate(0deg); }
113
+ transform: rotate(0deg); }
114
114
  100% {
115
115
  -webkit-transform: rotate(360deg);
116
- transform: rotate(360deg); } }
116
+ transform: rotate(360deg); } }
117
117
 
118
118
  @keyframes fa-spin {
119
119
  0% {
120
120
  -webkit-transform: rotate(0deg);
121
- transform: rotate(0deg); }
121
+ transform: rotate(0deg); }
122
122
  100% {
123
123
  -webkit-transform: rotate(360deg);
124
- transform: rotate(360deg); } }
124
+ transform: rotate(360deg); } }
125
125
 
126
126
  .fa-rotate-90 {
127
127
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
128
128
  -webkit-transform: rotate(90deg);
129
- transform: rotate(90deg); }
129
+ transform: rotate(90deg); }
130
130
 
131
131
  .fa-rotate-180 {
132
132
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
133
133
  -webkit-transform: rotate(180deg);
134
- transform: rotate(180deg); }
134
+ transform: rotate(180deg); }
135
135
 
136
136
  .fa-rotate-270 {
137
137
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
138
138
  -webkit-transform: rotate(270deg);
139
- transform: rotate(270deg); }
139
+ transform: rotate(270deg); }
140
140
 
141
141
  .fa-flip-horizontal {
142
142
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
143
143
  -webkit-transform: scale(-1, 1);
144
- transform: scale(-1, 1); }
144
+ transform: scale(-1, 1); }
145
145
 
146
146
  .fa-flip-vertical {
147
147
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
148
148
  -webkit-transform: scale(1, -1);
149
- transform: scale(1, -1); }
149
+ transform: scale(1, -1); }
150
150
 
151
151
  .fa-flip-horizontal.fa-flip-vertical {
152
152
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
153
153
  -webkit-transform: scale(-1, -1);
154
- transform: scale(-1, -1); }
154
+ transform: scale(-1, -1); }
155
155
 
156
156
  :root .fa-rotate-90,
157
157
  :root .fa-rotate-180,
@@ -159,7 +159,7 @@
159
159
  :root .fa-flip-horizontal,
160
160
  :root .fa-flip-vertical {
161
161
  -webkit-filter: none;
162
- filter: none; }
162
+ filter: none; }
163
163
 
164
164
  .fa-stack {
165
165
  display: inline-block;
@@ -1492,6 +1492,9 @@ readers do not read off random characters that represent icons */
1492
1492
  .fa-itunes-note:before {
1493
1493
  content: "\f3b5"; }
1494
1494
 
1495
+ .fa-java:before {
1496
+ content: "\f4e4"; }
1497
+
1495
1498
  .fa-jenkins:before {
1496
1499
  content: "\f3b6"; }
1497
1500
 
@@ -1900,6 +1903,9 @@ readers do not read off random characters that represent icons */
1900
1903
  .fa-pied-piper-alt:before {
1901
1904
  content: "\f1a8"; }
1902
1905
 
1906
+ .fa-pied-piper-hat:before {
1907
+ content: "\f4e5"; }
1908
+
1903
1909
  .fa-pied-piper-pp:before {
1904
1910
  content: "\f1a7"; }
1905
1911
 
@@ -2852,4 +2858,4 @@ readers do not read off random characters that represent icons */
2852
2858
  .fa,
2853
2859
  .fas {
2854
2860
  font-family: 'Font Awesome 5 Free';
2855
- font-weight: 900; }
2861
+ font-weight: 900; }
@@ -9,10 +9,10 @@ module FontAwesome5
9
9
  def fa_icon(icon, options = {})
10
10
  parser = FaIconParser.new(icon, options)
11
11
  if parser.text.nil?
12
- content_tag(:i, nil, class: parser.classes, style: parser.style, data: parser.data)
12
+ content_tag(:i, nil, class: parser.classes, style: parser.style, title: parser.title, data: parser.data)
13
13
  else
14
- content_tag(:i, nil, class: parser.classes, style: parser.style, data: parser.data) +
15
- content_tag(:span, parser.text, class: "fa5-text #{parser.sizes}", style: parser.style)
14
+ content_tag(:i, nil, class: parser.classes, style: parser.style, title: parser.title, data: parser.data) +
15
+ content_tag(:span, parser.text, class: "fa5-text#{' ' unless parser.sizes.blank?}#{parser.sizes}", style: parser.style)
16
16
  end
17
17
  end
18
18
 
@@ -20,7 +20,7 @@ module FontAwesome5
20
20
  def fa_stacked_icon(icon, options = {})
21
21
  parser = FaStackedIconParser.new(icon, options)
22
22
 
23
- tags = content_tag :span, class: parser.span_classes do
23
+ tags = content_tag :span, class: parser.span_classes, title: parser.title do
24
24
  content_tag(:i, nil, class: (parser.reverse ? parser.second_icon_classes : parser.first_icon_classes) ) +
25
25
  content_tag(:i, nil, class: (parser.reverse ? parser.first_icon_classes : parser.second_icon_classes) )
26
26
  end
@@ -31,10 +31,10 @@ module FontAwesome5
31
31
  def fa_layered_icon(options = {}, &block)
32
32
  parser = FaLayeredIconParser.new(options)
33
33
  if parser.size.nil?
34
- content_tag(:span, class: parser.classes, style: parser.style, &block)
34
+ content_tag(:span, class: parser.classes, title: parser.title, style: parser.style, &block)
35
35
  else
36
36
  content_tag :div, class: "fa-#{parser.size}" do
37
- content_tag(:span, class: parser.classes, style: parser.style, &block)
37
+ content_tag(:span, class: parser.classes, title: parser.title, style: parser.style, &block)
38
38
  end
39
39
  end
40
40
  end
@@ -3,7 +3,7 @@ require_relative 'parse_methods'
3
3
  class FaIconParser
4
4
  include ParseMethods
5
5
 
6
- attr_reader :icon, :options, :data, :style, :text
6
+ attr_reader :icon, :options, :data, :style, :text, :title
7
7
 
8
8
  def initialize(icon, options)
9
9
  @icon = icon
@@ -11,6 +11,7 @@ class FaIconParser
11
11
  @data = options[:data]
12
12
  @style = options[:style]
13
13
  @text = options[:text]
14
+ @title = options[:title]
14
15
  end
15
16
 
16
17
  def classes
@@ -3,13 +3,14 @@ require_relative "parse_methods"
3
3
  class FaLayeredIconParser
4
4
  include ParseMethods
5
5
 
6
- attr_reader :aligned, :style, :size
6
+ attr_reader :aligned, :style, :size, :title
7
7
 
8
8
 
9
9
  def initialize(options)
10
10
  @aligned = options[:aligned].nil? ? true : options[:aligned]
11
11
  @style = options[:style]
12
12
  @size = options[:size]
13
+ @title = options[:title]
13
14
  @options = options
14
15
  end
15
16
 
@@ -1,7 +1,7 @@
1
1
  require_relative "parse_methods"
2
2
 
3
3
  class FaStackedIconParser
4
- attr_reader :reverse, :options, :span_classes, :first_icon_classes, :second_icon_classes, :text
4
+ attr_reader :reverse, :options, :span_classes, :first_icon_classes, :second_icon_classes, :text, :title
5
5
 
6
6
  include ParseMethods
7
7
 
@@ -9,6 +9,7 @@ class FaStackedIconParser
9
9
  @icon = icon
10
10
  @text = options[:text]
11
11
  @reverse = options[:reverse].nil? ? false : options[:reverse]
12
+ @title = options[:title]
12
13
  @options = options
13
14
  end
14
15
 
@@ -19,6 +19,20 @@ module ParseMethods
19
19
  end
20
20
 
21
21
  def arr_with_fa(array)
22
+ array = handle_input(array)
22
23
  array.split(" ").map{ |s| prepend_fa(s) }
23
24
  end
25
+
26
+ private
27
+
28
+ def handle_input(input)
29
+ case input
30
+ when Symbol
31
+ input.to_s.gsub('_', '-')
32
+ when Array
33
+ input.collect{ |i| i.to_s.gsub('_', '-') }.join(' ')
34
+ else
35
+ input.to_s
36
+ end
37
+ end
24
38
  end
@@ -1,4 +1,4 @@
1
1
  module FontAwesome5Rails
2
- FA_VERSION = '5.0.9'
3
- VERSION = '0.3.1'
2
+ FA_VERSION = '5.0.10'
3
+ VERSION = '0.3.2'
4
4
  end
@@ -79,6 +79,18 @@ describe FontAwesome5Rails do
79
79
  expect(fa_icon 'camera-retro', text: 'Camera', style: 'color: Tomato;').to have_tag('span', text: 'Camera', with: {style: 'color: Tomato;'})
80
80
  expect(fa_icon 'camera-retro', text: 'Camera', size: '3x').to have_tag('span', text: 'Camera', with: {class: 'fa5-text fa-3x'})
81
81
  end
82
+
83
+ it 'should return correct tags with symbols' do
84
+ expect(fa_icon :facebook, type: :brand).to eq '<i class="fab fa-facebook"></i>'
85
+ expect(fa_icon :camera_retro).to eq '<i class="fas fa-camera-retro"></i>'
86
+ expect(fa_icon [:camera_retro, :circle]).to eq '<i class="fas fa-camera-retro fa-circle"></i>'
87
+ end
88
+
89
+ it 'should return correct title tags' do
90
+ expect(fa_icon 'camera-retro', title: 'camera-title').to eq '<i class="fas fa-camera-retro" title="camera-title"></i>'
91
+ expect(fa_icon 'camera-retro', text: 'Camera', title: 'camera-title').to eq '<i class="fas fa-camera-retro" title="camera-title"></i><span class="fa5-text">Camera</span>'
92
+
93
+ end
82
94
  end
83
95
 
84
96
  describe 'fa_stacked_icon tags' do
@@ -107,6 +119,18 @@ describe FontAwesome5Rails do
107
119
  expect(fa_stacked_icon 'camera', base: 'circle', type: :far, base_type: :fas, reverse: true)
108
120
  .to eq '<span class="fa-stack"><i class="far fa-camera fa-stack-1x"></i><i class="fas fa-circle fa-stack-2x"></i></span>'
109
121
  end
122
+
123
+ it 'should return correct tags with symbols' do
124
+ expect(fa_stacked_icon [:camera, :inverse], base: :circle)
125
+ .to eq '<span class="fa-stack"><i class="fas fa-circle fa-stack-2x"></i><i class="fas fa-camera fa-inverse fa-stack-1x"></i></span>'
126
+ expect(fa_stacked_icon :camera, base: :circle, type: :far, reverse: false)
127
+ .to eq '<span class="fa-stack"><i class="far fa-circle fa-stack-2x"></i><i class="far fa-camera fa-stack-1x"></i></span>'
128
+ end
129
+
130
+ it 'should return correct tags with title' do
131
+ expect(fa_stacked_icon [:camera, :inverse], base: :circle, title: 'Camera')
132
+ .to eq '<span class="fa-stack" title="Camera"><i class="fas fa-circle fa-stack-2x"></i><i class="fas fa-camera fa-inverse fa-stack-1x"></i></span>'
133
+ end
110
134
  end
111
135
 
112
136
  describe 'fa_layered_icon tags' do
@@ -129,6 +153,11 @@ describe FontAwesome5Rails do
129
153
  end
130
154
  ).to eq '<span class="fa-layers fa-fw"><i class="fas fa-circle"></i><i class="fas fa-times"></i></span>'
131
155
  end
156
+
157
+ it 'should return correct tags with title' do
158
+ expect(fa_layered_icon(style: 'background: MistyRose', title: 'LayeredIcon'){ fa_icon 'circle' })
159
+ .to eq '<span class="fa-layers fa-fw" title="LayeredIcon" style="background: MistyRose"><i class="fas fa-circle"></i></span>'
160
+ end
132
161
  end
133
162
 
134
163
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: font_awesome5_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tomkra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-10 00:00:00.000000000 Z
11
+ date: 2018-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -240,6 +240,7 @@ files:
240
240
  - app/assets/images/fa5/brands/ioxhost.svg
241
241
  - app/assets/images/fa5/brands/itunes-note.svg
242
242
  - app/assets/images/fa5/brands/itunes.svg
243
+ - app/assets/images/fa5/brands/java.svg
243
244
  - app/assets/images/fa5/brands/jenkins.svg
244
245
  - app/assets/images/fa5/brands/joget.svg
245
246
  - app/assets/images/fa5/brands/joomla.svg
@@ -298,6 +299,7 @@ files:
298
299
  - app/assets/images/fa5/brands/phoenix-framework.svg
299
300
  - app/assets/images/fa5/brands/php.svg
300
301
  - app/assets/images/fa5/brands/pied-piper-alt.svg
302
+ - app/assets/images/fa5/brands/pied-piper-hat.svg
301
303
  - app/assets/images/fa5/brands/pied-piper-pp.svg
302
304
  - app/assets/images/fa5/brands/pied-piper.svg
303
305
  - app/assets/images/fa5/brands/pinterest-p.svg
@@ -1077,6 +1079,7 @@ files:
1077
1079
  - app/assets/stylesheets/fa-svg-with-js.css
1078
1080
  - app/assets/stylesheets/font_awesome5.css
1079
1081
  - app/assets/stylesheets/font_awesome5_webfont.css
1082
+ - app/assets/stylesheets/fontawesome-all-old.css.scss
1080
1083
  - app/assets/stylesheets/fontawesome-all.css.scss
1081
1084
  - app/helpers/font_awesome5/rails/icon_helper.rb
1082
1085
  - bin/test