class Assets::Rule::Compile

Public Class Methods

build(rule) click to toggle source

Build compiler rule

@param [Rule::File] rule

@return [Rule::Compile]

@api private

# File lib/assets/rule/compile.rb, line 72
def self.build(rule)
  builder = Compile.registry.fetch(rule.mime)
  compiler = builder.new(rule)
  Rename.new(compiler.target_name, compiler)
end
mime() click to toggle source

Return mime type

@return [Mime]

@api private

# File lib/assets/rule/compile.rb, line 94
def self.mime
  self::MIME
end
registry() click to toggle source

Return registry

@return [Hash]

@api private

# File lib/assets/rule/compile.rb, line 44
def self.registry
  @registry ||= {}
end

Private Class Methods

handle(mime) click to toggle source

Register handler

@param [Mime] mime

@return [undefined]

@api private

# File lib/assets/rule/compile.rb, line 59
def self.handle(mime)
  Compile.registry[mime]=self
end

Public Instance Methods

mime() click to toggle source

Return mime type

@return [Mime]

@api private

# File lib/assets/rule/compile.rb, line 84
def mime
  self.class.mime
end
name() click to toggle source

Return name

@return [String]

@api private

# File lib/assets/rule/compile.rb, line 12
def name
  input.name
end
target_name() click to toggle source

Return target name

@return [String]

@api private

# File lib/assets/rule/compile.rb, line 32
def target_name
  regexp = %r(#{Regexp.escape(input.extname)}\z)
  name.gsub(regexp, mime.extname)
end
updated_at() click to toggle source

Return updated at

@return [Time]

@api private

# File lib/assets/rule/compile.rb, line 22
def updated_at
  input.updated_at
end