Class: Shipyard::Icons
- Inherits:
-
Object
- Object
- Shipyard::Icons
- Includes:
- ActionView::Helpers::SanitizeHelper, Singleton
- 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
- #find_by(hash) ⇒ Object
-
#initialize ⇒ Icons
constructor
A new instance of Icons.
- #reload ⇒ Object
Constructor Details
#initialize ⇒ Icons
Returns a new instance of Icons.
9 10 11 12 13 14 |
# File 'lib/shipyard-framework/icons.rb', line 9 def initialize @path = "#{::Rails.root}/app/assets/icons/" @public = "#{::Rails.root}/public/assets" @fingerprint = ::Rails.application.config.try(:icons_version) reload end |
Instance Attribute Details
#icons ⇒ Object (readonly)
Returns the value of attribute icons.
5 6 7 |
# File 'lib/shipyard-framework/icons.rb', line 5 def icons @icons end |
Instance Method Details
#asset_path(svg_id) ⇒ Object
35 36 37 |
# File 'lib/shipyard-framework/icons.rb', line 35 def asset_path(svg_id) "#{base_path}##{svg_id}" end |
#base_path ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/shipyard-framework/icons.rb', line 27 def base_path if @fingerprint && !::Rails.env.development? "/assets/icons-#{@fingerprint}.svg" else '/assets/icons.svg' end end |
#find_by(hash) ⇒ Object
21 22 23 24 25 |
# File 'lib/shipyard-framework/icons.rb', line 21 def find_by(hash) icon = @icons.detect { |i| i[hash.keys.first] == hash.values.first } raise_error(hash.values.first) unless icon icon end |
#reload ⇒ Object
16 17 18 19 |
# File 'lib/shipyard-framework/icons.rb', line 16 def reload @icons = load_svgs.freeze save_external_svg_defs end |