Class: LuxAssets::Asset

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

Instance Method Summary collapse

Constructor Details

#initialize(ext, name) ⇒ Asset

Returns a new instance of Asset.

Raises:

  • (ArgumentError)


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

def initialize ext, name
  raise ArgumentError.new('name not deinfed') if name.empty?
  @ext    = ext.to_sym == :js ? :js : :css
  @name   = name.to_s
  @files  = LuxAssets.to_h[@ext][@name]
  @target = "#{@ext}/#{@name}"
end

Instance Method Details

#compileObject



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

def compile
  @data = []

  LuxAssets::Cli.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.compile file, production: true
    end
  end

  send 'compile_%s' % @ext

  @asset_file
end

#css?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/lux_assets/asset.rb', line 19

def css?
  @ext == :css
end

#filesObject



41
42
43
# File 'lib/lux_assets/asset.rb', line 41

def files
  @files
end

#js?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/lux_assets/asset.rb', line 15

def js?
  @ext == :js
end