material_icons 2.2.1 → 4.0.0
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 +5 -5
- data/README.md +145 -70
- data/app/assets/fonts/material-icons-outlined.woff +0 -0
- data/app/assets/fonts/material-icons-outlined.woff2 +0 -0
- data/app/assets/fonts/material-icons-regular.woff +0 -0
- data/app/assets/fonts/material-icons-regular.woff2 +0 -0
- data/app/assets/fonts/material-icons-round.woff +0 -0
- data/app/assets/fonts/material-icons-round.woff2 +0 -0
- data/app/assets/fonts/material-icons-sharp.woff +0 -0
- data/app/assets/fonts/material-icons-sharp.woff2 +0 -0
- data/app/assets/fonts/material-icons-twotone.woff +0 -0
- data/app/assets/fonts/material-icons-twotone.woff2 +0 -0
- data/app/assets/stylesheets/material_icons.css.erb +13 -68
- data/app/assets/stylesheets/material_icons.helpers.css +45 -0
- data/app/assets/stylesheets/material_icons.outlined.css.erb +37 -0
- data/app/assets/stylesheets/material_icons.round.css.erb +37 -0
- data/app/assets/stylesheets/material_icons.sharp.css.erb +37 -0
- data/app/assets/stylesheets/material_icons.twotone.css.erb +37 -0
- data/app/models/material_icon.rb +40 -72
- data/lib/material_icons/version.rb +2 -2
- data/lib/material_icons.rb +0 -14
- metadata +21 -27
- data/Rakefile +0 -38
- data/app/assets/fonts/MaterialIcons-Regular.eot +0 -0
- data/app/assets/fonts/MaterialIcons-Regular.ttf +0 -0
- data/app/assets/fonts/MaterialIcons-Regular.woff +0 -0
- data/app/assets/fonts/MaterialIcons-Regular.woff2 +0 -0
- data/app/assets/stylesheets/material_icons_unicode.css.erb +0 -3813
data/app/models/material_icon.rb
CHANGED
|
@@ -5,12 +5,6 @@ class MaterialIcon
|
|
|
5
5
|
# To use content_tag
|
|
6
6
|
include ActionView::Helpers::TagHelper
|
|
7
7
|
|
|
8
|
-
# Undefined method will ref to the icon.
|
|
9
|
-
def method_missing(name)
|
|
10
|
-
@icon = clear_icon(name)
|
|
11
|
-
self
|
|
12
|
-
end
|
|
13
|
-
|
|
14
8
|
#
|
|
15
9
|
# Reset will set all variables to nil
|
|
16
10
|
#
|
|
@@ -19,6 +13,16 @@ class MaterialIcon
|
|
|
19
13
|
self
|
|
20
14
|
end
|
|
21
15
|
|
|
16
|
+
#
|
|
17
|
+
# Define shape style methods
|
|
18
|
+
#
|
|
19
|
+
%w(outlined round sharp twotone).each do |shape_style|
|
|
20
|
+
define_method(shape_style) do
|
|
21
|
+
css_class(shape_style)
|
|
22
|
+
self
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
22
26
|
#
|
|
23
27
|
# Define rotate methods
|
|
24
28
|
#
|
|
@@ -39,6 +43,21 @@ class MaterialIcon
|
|
|
39
43
|
end
|
|
40
44
|
end
|
|
41
45
|
|
|
46
|
+
#
|
|
47
|
+
# Set the shape of the icon you want to use
|
|
48
|
+
#
|
|
49
|
+
# == Paremeters:
|
|
50
|
+
# name::
|
|
51
|
+
# String or symbol with icon name
|
|
52
|
+
#
|
|
53
|
+
# == Returns:
|
|
54
|
+
# MaterialIcon instance
|
|
55
|
+
#
|
|
56
|
+
def shape(name)
|
|
57
|
+
@icon = name.to_s
|
|
58
|
+
self
|
|
59
|
+
end
|
|
60
|
+
|
|
42
61
|
#
|
|
43
62
|
# Add a CSS class to :i tag
|
|
44
63
|
#
|
|
@@ -65,42 +84,10 @@ class MaterialIcon
|
|
|
65
84
|
# MaterialIcon instance
|
|
66
85
|
#
|
|
67
86
|
def style(css_style = '')
|
|
68
|
-
|
|
69
|
-
# It references style icon
|
|
70
|
-
@icon = clear_icon('style')
|
|
71
|
-
else
|
|
72
|
-
# User wants to apply a style to the icon
|
|
73
|
-
@style = css_style
|
|
74
|
-
end
|
|
87
|
+
@style = css_style
|
|
75
88
|
self
|
|
76
89
|
end
|
|
77
90
|
|
|
78
|
-
# Create an alias to use the original method
|
|
79
|
-
alias_method :super_send, :send
|
|
80
|
-
|
|
81
|
-
#
|
|
82
|
-
# Override send functionality to set the name of the icon to "send" when
|
|
83
|
-
# the method doesn't receive any parameters
|
|
84
|
-
#
|
|
85
|
-
# == Paremeters:
|
|
86
|
-
# name::
|
|
87
|
-
# Name of the method to call
|
|
88
|
-
# args::
|
|
89
|
-
# Arguments to send the method
|
|
90
|
-
#
|
|
91
|
-
# == Returns:
|
|
92
|
-
# MaterialIcon instance or the result of the method call
|
|
93
|
-
#
|
|
94
|
-
def send(name = '', *args)
|
|
95
|
-
if name && name.empty?
|
|
96
|
-
@icon = clear_icon('send')
|
|
97
|
-
# Return self
|
|
98
|
-
self
|
|
99
|
-
else
|
|
100
|
-
super_send(name.to_sym, *args)
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
|
|
104
91
|
#
|
|
105
92
|
# Add HTML options to :i tag.
|
|
106
93
|
#
|
|
@@ -118,15 +105,7 @@ class MaterialIcon
|
|
|
118
105
|
end
|
|
119
106
|
|
|
120
107
|
#
|
|
121
|
-
#
|
|
122
|
-
#
|
|
123
|
-
def unicode?
|
|
124
|
-
MaterialIcons.unicode
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
#
|
|
128
|
-
# Create the HTML code for the icon. This method check if selected mode is
|
|
129
|
-
# unicode or ligatures.
|
|
108
|
+
# Create the HTML code for the icon
|
|
130
109
|
#
|
|
131
110
|
# == Returns:
|
|
132
111
|
# Safe string
|
|
@@ -136,35 +115,24 @@ class MaterialIcon
|
|
|
136
115
|
@html = @html.nil? || !@html.is_a?(Hash) ? {} : @html
|
|
137
116
|
|
|
138
117
|
# Create the icon
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
@
|
|
142
|
-
|
|
143
|
-
class: "material-icons #{@icon}#{@size}#{@rotation}#{@css_class}"))
|
|
144
|
-
else
|
|
145
|
-
content_tag(:i, "#{@icon}",
|
|
146
|
-
@html.merge(
|
|
147
|
-
style: @style,
|
|
148
|
-
class: "material-icons#{@size}#{@rotation}#{@css_class}"))
|
|
149
|
-
end
|
|
118
|
+
content_tag(:i, "#{@icon}",
|
|
119
|
+
@html.merge(
|
|
120
|
+
style: @style,
|
|
121
|
+
class: "material-icons#{@size}#{@rotation}#{@css_class}"))
|
|
150
122
|
end
|
|
151
123
|
|
|
152
|
-
|
|
124
|
+
# Fix #13. Some Rails methods uses to_str instead of to_s. In this case, to_str is handled
|
|
125
|
+
# by method_missing so it's returning the same instance and the method are failing
|
|
126
|
+
alias_method :to_str, :to_s
|
|
153
127
|
|
|
154
128
|
#
|
|
155
|
-
#
|
|
156
|
-
#
|
|
157
|
-
# icon
|
|
129
|
+
# Some methods require to_ary to be defined. We return nil in this method to avoid this class
|
|
130
|
+
# to be threated as an Array
|
|
158
131
|
#
|
|
159
|
-
# ==
|
|
160
|
-
#
|
|
161
|
-
# String with the name of the icon
|
|
162
|
-
#
|
|
163
|
-
# == Returns:
|
|
164
|
-
# An string with filtered name of the icon
|
|
132
|
+
# == Returns
|
|
133
|
+
# Nil
|
|
165
134
|
#
|
|
166
|
-
def
|
|
167
|
-
|
|
168
|
-
'3d_rotation'
|
|
135
|
+
def to_ary
|
|
136
|
+
nil
|
|
169
137
|
end
|
|
170
138
|
end
|
data/lib/material_icons.rb
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
1
|
require 'material_icons/version'
|
|
2
2
|
# Only require if rails is available
|
|
3
3
|
require 'material_icons/engine' if defined?(::Rails)
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
# Base module. This module defines the configuration of the gem.
|
|
7
|
-
#
|
|
8
|
-
module MaterialIcons
|
|
9
|
-
# Use unicode icons
|
|
10
|
-
mattr_accessor :unicode
|
|
11
|
-
@unicode = false
|
|
12
|
-
|
|
13
|
-
# Use the config from an initializer
|
|
14
|
-
def self.setup
|
|
15
|
-
yield self
|
|
16
|
-
end
|
|
17
|
-
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: material_icons
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Angel M Miguel
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-11-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -80,20 +80,6 @@ dependencies:
|
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: 2.4.4
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: coveralls
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - "~>"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.8.2
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: 0.8.2
|
|
97
83
|
- !ruby/object:Gem::Dependency
|
|
98
84
|
name: pry
|
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -123,8 +109,8 @@ dependencies:
|
|
|
123
109
|
- !ruby/object:Gem::Version
|
|
124
110
|
version: 0.2.4
|
|
125
111
|
description: Add Google Material Icons in your Rails projects easily. It is a library
|
|
126
|
-
with +
|
|
127
|
-
email: angel
|
|
112
|
+
with +2500 icons ;)
|
|
113
|
+
email: hi@angel.kiwi
|
|
128
114
|
executables: []
|
|
129
115
|
extensions: []
|
|
130
116
|
extra_rdoc_files: []
|
|
@@ -132,19 +118,28 @@ files:
|
|
|
132
118
|
- LICENSE
|
|
133
119
|
- LICENSE_OF_FONTS
|
|
134
120
|
- README.md
|
|
135
|
-
-
|
|
136
|
-
- app/assets/fonts/
|
|
137
|
-
- app/assets/fonts/
|
|
138
|
-
- app/assets/fonts/
|
|
139
|
-
- app/assets/fonts/
|
|
121
|
+
- app/assets/fonts/material-icons-outlined.woff
|
|
122
|
+
- app/assets/fonts/material-icons-outlined.woff2
|
|
123
|
+
- app/assets/fonts/material-icons-regular.woff
|
|
124
|
+
- app/assets/fonts/material-icons-regular.woff2
|
|
125
|
+
- app/assets/fonts/material-icons-round.woff
|
|
126
|
+
- app/assets/fonts/material-icons-round.woff2
|
|
127
|
+
- app/assets/fonts/material-icons-sharp.woff
|
|
128
|
+
- app/assets/fonts/material-icons-sharp.woff2
|
|
129
|
+
- app/assets/fonts/material-icons-twotone.woff
|
|
130
|
+
- app/assets/fonts/material-icons-twotone.woff2
|
|
140
131
|
- app/assets/stylesheets/material_icons.css.erb
|
|
141
|
-
- app/assets/stylesheets/
|
|
132
|
+
- app/assets/stylesheets/material_icons.helpers.css
|
|
133
|
+
- app/assets/stylesheets/material_icons.outlined.css.erb
|
|
134
|
+
- app/assets/stylesheets/material_icons.round.css.erb
|
|
135
|
+
- app/assets/stylesheets/material_icons.sharp.css.erb
|
|
136
|
+
- app/assets/stylesheets/material_icons.twotone.css.erb
|
|
142
137
|
- app/helpers/material_icons/material_icon_helper.rb
|
|
143
138
|
- app/models/material_icon.rb
|
|
144
139
|
- lib/material_icons.rb
|
|
145
140
|
- lib/material_icons/engine.rb
|
|
146
141
|
- lib/material_icons/version.rb
|
|
147
|
-
homepage:
|
|
142
|
+
homepage: https://github.com/Angelmmiguel/material_icons
|
|
148
143
|
licenses:
|
|
149
144
|
- MIT
|
|
150
145
|
- Apache-2.0
|
|
@@ -164,8 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
164
159
|
- !ruby/object:Gem::Version
|
|
165
160
|
version: '0'
|
|
166
161
|
requirements: []
|
|
167
|
-
|
|
168
|
-
rubygems_version: 2.5.1
|
|
162
|
+
rubygems_version: 3.3.26
|
|
169
163
|
signing_key:
|
|
170
164
|
specification_version: 4
|
|
171
165
|
summary: A simple Rails wrapper for Google Material Icons
|
data/Rakefile
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env rake
|
|
2
|
-
|
|
3
|
-
# Rake tasks
|
|
4
|
-
namespace :material_icons do
|
|
5
|
-
#
|
|
6
|
-
# Get the CSS to use unicode instead of ligatures.
|
|
7
|
-
#
|
|
8
|
-
desc "Create the CSS Unicode classes"
|
|
9
|
-
task :unicode_css do
|
|
10
|
-
# Check codepoint file
|
|
11
|
-
unless File.exist?('codepoints')
|
|
12
|
-
puts 'Codepoints file is required to perform this operation.'
|
|
13
|
-
puts 'Go to: https://github.com/google/material-design-icons and download it.'
|
|
14
|
-
else
|
|
15
|
-
# Destination file
|
|
16
|
-
out = File.new("unicode.css", "w")
|
|
17
|
-
|
|
18
|
-
# Load from codepoints
|
|
19
|
-
File.readlines('codepoints').each do |line|
|
|
20
|
-
el = line.split(' ')
|
|
21
|
-
css_class = el.first
|
|
22
|
-
# Fix for icons that start with number
|
|
23
|
-
css_class = 'three_d_rotation' if css_class == '3d_rotation'
|
|
24
|
-
unicode = el.last
|
|
25
|
-
# Need this strange indentation for CSS...
|
|
26
|
-
css =
|
|
27
|
-
<<-FOO
|
|
28
|
-
.material-icons.#{css_class}:before,
|
|
29
|
-
.mi.#{css_class}:before {
|
|
30
|
-
content: '\\#{unicode}';
|
|
31
|
-
}
|
|
32
|
-
FOO
|
|
33
|
-
# Print in the file
|
|
34
|
-
out.puts css
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|