Class: Shipyard::Icons
- Inherits:
-
Object
- Object
- Shipyard::Icons
- Includes:
- ActionView::Helpers::SanitizeHelper
- Defined in:
- lib/shipyard-framework/icons.rb
Instance Attribute Summary collapse
-
#icons ⇒ Object
readonly
Returns the value of attribute icons.
Instance Method Summary collapse
- #asset_path(svg_id) ⇒ Object
- #base_path ⇒ Object
-
#initialize(icon_directory, output_directory, base_path = '') ⇒ Icons
constructor
A new instance of Icons.
- #reload ⇒ Object
- #write ⇒ Object
Constructor Details
#initialize(icon_directory, output_directory, base_path = '') ⇒ Icons
Returns a new instance of Icons.
10 11 12 13 14 15 |
# File 'lib/shipyard-framework/icons.rb', line 10 def initialize(icon_directory, output_directory, base_path = '') @path = icon_directory @public = output_directory @base_path = base_path reload end |
Instance Attribute Details
#icons ⇒ Object (readonly)
Returns the value of attribute icons.
6 7 8 |
# File 'lib/shipyard-framework/icons.rb', line 6 def icons @icons end |
Instance Method Details
#asset_path(svg_id) ⇒ Object
26 27 28 |
# File 'lib/shipyard-framework/icons.rb', line 26 def asset_path(svg_id) "#{base_path}##{svg_id}" end |
#base_path ⇒ Object
22 23 24 |
# File 'lib/shipyard-framework/icons.rb', line 22 def base_path "#{@base_path}/assets/icons.svg" end |
#reload ⇒ Object
17 18 19 20 |
# File 'lib/shipyard-framework/icons.rb', line 17 def reload @icons = load_svgs.freeze @icons end |
#write ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/shipyard-framework/icons.rb', line 30 def write html = [] @icons.each do |icon| html << svg_symbol(icon) end FileUtils.mkdir_p(@public) unless File.exists?(@public) || Dir.exists?(@public) File.write("#{@public}/icons.svg", svg_template(html.join)) end |