Class: Udongo::Assets::Loader

Inherits:
Object
  • Object
show all
Defined in:
lib/udongo/assets/loader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeLoader

Returns a new instance of Loader.



7
8
9
# File 'lib/udongo/assets/loader.rb', line 7

def initialize
  @files = []
end

Instance Attribute Details

#filesObject (readonly)

Returns the value of attribute files.



4
5
6
# File 'lib/udongo/assets/loader.rb', line 4

def files
  @files
end

#viewObject

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

Returns:

  • (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