Class: Skyrocket::Asset

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dir, filename, output_dir, processor) ⇒ Asset

Returns a new instance of Asset.



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

def initialize(dir, filename, output_dir, processor)
  @dir = dir
  @filename = filename
  @output_dir = output_dir
  @processor = processor
end

Instance Attribute Details

#dirObject (readonly)

Returns the value of attribute dir.



6
7
8
# File 'lib/skyrocket/asset.rb', line 6

def dir
  @dir
end

#filenameObject (readonly)

Returns the value of attribute filename.



6
7
8
# File 'lib/skyrocket/asset.rb', line 6

def filename
  @filename
end

#output_dirObject (readonly)

Returns the value of attribute output_dir.



6
7
8
# File 'lib/skyrocket/asset.rb', line 6

def output_dir
  @output_dir
end

#processorObject (readonly)

Returns the value of attribute processor.



6
7
8
# File 'lib/skyrocket/asset.rb', line 6

def processor
  @processor
end

Instance Method Details

#contentObject



34
35
36
# File 'lib/skyrocket/asset.rb', line 34

def content
  return @content ||= @processor.process(raw, name)
end

#nameObject



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

def name
  @processor.post_process_name(@filename)
end

#output_nameObject



27
28
29
30
31
32
# File 'lib/skyrocket/asset.rb', line 27

def output_name
  digest = Digest::MD5.hexdigest(content)
  ppn = @processor.post_process_name(@filename)
  ext = File.extname(ppn)
  "#{ppn.chomp(ext)}_#{digest}#{ext}"
end

#output_pathObject



23
24
25
# File 'lib/skyrocket/asset.rb', line 23

def output_path
  @output_dir + "/" + output_name
end

#rawObject



38
39
40
# File 'lib/skyrocket/asset.rb', line 38

def raw
  File.read(File.join(@dir, @filename))
end

#to_sObject



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

def to_s
  name
end