Class: Udongo::Assets::Loader
- Inherits:
-
Object
- Object
- Udongo::Assets::Loader
- Defined in:
- lib/udongo/assets/loader.rb
Instance Attribute Summary collapse
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#view ⇒ Object
Returns the value of attribute view.
Instance Method Summary collapse
- #add(file) ⇒ Object
- #exists?(file) ⇒ Boolean
-
#initialize ⇒ Loader
constructor
A new instance of Loader.
- #load_css(file, media = :screen) ⇒ Object
- #load_file(file, target, &block) ⇒ Object
- #load_js(file, target = :javascripts) ⇒ Object
Constructor Details
#initialize ⇒ Loader
Returns a new instance of Loader.
7 8 9 |
# File 'lib/udongo/assets/loader.rb', line 7 def initialize @files = [] end |
Instance Attribute Details
#files ⇒ Object (readonly)
Returns the value of attribute files.
4 5 6 |
# File 'lib/udongo/assets/loader.rb', line 4 def files @files end |
#view ⇒ Object
Returns the value of attribute view.
5 6 7 |
# File 'lib/udongo/assets/loader.rb', line 5 def view @view end |
Instance Method Details
#add(file) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/udongo/assets/loader.rb', line 11 def add(file) file = file.split('.js').first if file.include?('.js') file = file.split('.scss').first if file.include?('.scss') file = file.split('.css').first if file.include?('.css') @files.push file end |
#exists?(file) ⇒ Boolean
18 19 20 |
# File 'lib/udongo/assets/loader.rb', line 18 def exists?(file) @files.include?(file) end |
#load_css(file, media = :screen) ⇒ Object
22 23 24 |
# File 'lib/udongo/assets/loader.rb', line 22 def load_css(file, media = :screen) load_file(file, :stylesheets) { @view.stylesheet_link_tag(file, media: media) } end |
#load_file(file, target, &block) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/udongo/assets/loader.rb', line 26 def load_file(file, target, &block) if block_given? && !exists?(file) add file @view.content_for(target) { yield file } return true end false end |
#load_js(file, target = :javascripts) ⇒ Object
35 36 37 |
# File 'lib/udongo/assets/loader.rb', line 35 def load_js(file, target = :javascripts) load_file(file, target) { @view.javascript_include_tag(file) } end |