class Assette::CompiledFile

Attributes

file[R]

Public Class Methods

new(file) click to toggle source
# File lib/assette/compiled_file.rb, line 6
def initialize(file)
  @file = file
end

Public Instance Methods

add_dependency(d) click to toggle source
# File lib/assette/compiled_file.rb, line 10
def add_dependency d
  c = []
  c << "\n"
  c << file.comment_str % "Start: #{d.path}"
  c << code_for_dependency(d)
  c << file.comment_str % "End: #{d.path}"
  
  self << c.join("\n")
end
code_for_dependency(d) click to toggle source
# File lib/assette/compiled_file.rb, line 31
def code_for_dependency d
  post_process(d)
end
content_type() click to toggle source
# File lib/assette/compiled_file.rb, line 35
def content_type
  return mime_type.content_type if mime_type

  case file.target_class.outputs
  when :js
    'text/javascript'
  when :css
    'text/css'
  else
    'text/plain'
  end
end
mime_type() click to toggle source
# File lib/assette/compiled_file.rb, line 48
def mime_type
  target_class.mime_type
end
post_process(file) click to toggle source
# File lib/assette/compiled_file.rb, line 20
def post_process file
  str = file.code
  PostProcessor::POST_PROCESSORS[target_class.outputs].each do |processor|
    p = processor.new(file, str, :parent => @file)

    str.replace(p.process)
  end
  
  str
end
target_class() click to toggle source
# File lib/assette/compiled_file.rb, line 52
def target_class
  file.target_class
end