Class: LuxAssets::Asset

Inherits:
Object
  • Object
show all
Defined in:
lib/lux_assets/asset.rb

Overview

Asset group, single asset that produces target css or js

Constant Summary collapse

PUBLIC_ASSETS =
'./public/assets'

Instance Method Summary collapse

Constructor Details

#initialize(ext, name) ⇒ Asset

Returns a new instance of Asset.



6
7
8
9
10
11
# File 'lib/lux_assets/asset.rb', line 6

def initialize ext, name
  @ext    = ext == :js ? :js : :css
  @name   = name
  @files  = LuxAssets.to_h[ext][name]
  @target = "#{@ext}/#{@name}"
end

Instance Method Details

#compileObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/lux_assets/asset.rb', line 21

def compile
  @data = []

  die "No files found for [#{@ext}/#{@name}]" unless @files[0]

  for file in @files
    if file.is_a?(Proc)
      @data.push file.call
    else
      @data.push LuxAssets::Element.new(file).compile
    end
  end

  send 'compile_%s' % @ext

  @asset_file
end

#css?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/lux_assets/asset.rb', line 17

def css?
  @ext == :css
end

#filesObject



39
40
41
# File 'lib/lux_assets/asset.rb', line 39

def files
  @files
end

#js?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/lux_assets/asset.rb', line 13

def js?
  @ext == :js
end