class Assets::Builder

Asset builder

Attributes

rules[R]

Return rules

@return [Enumerable<Rule>]

@api private

Public Class Methods

new(name, mime) click to toggle source

Initialize object

@param [String] name @param [Mime] mime

@api private

@return [undefined]

# File lib/assets/builder.rb, line 36
def initialize(name, mime)
  @name, @mime, @rules = name, mime, []
end
run(name) { |builder| ... } click to toggle source

Run builder

@param [String] name

@return [Rule]

@api private

# File lib/assets/builder.rb, line 13
def self.run(name)
  builder = new(name, Mime.from_name(name))
  yield builder
  Assets::Rule::Concat.new(name, builder.rules)
end

Public Instance Methods

append(rule) click to toggle source

Add rule

@param [Rule]

@return [self]

@api private

# File lib/assets/builder.rb, line 78
def append(rule)
  unless rule.mime == @mime
    raise
  end

  @rules << rule

  self
end
package(package) click to toggle source

Use package

@param [Assets::Package]

@return [self]

@api private

# File lib/assets/builder.rb, line 63
def package(package)
  package.mime(@mime).each do |rule|
    append(rule)
  end
  self
end
packages(packages) click to toggle source

Use pacakges

@param [Enumerable<Package>] packages

@return [self]

@api private

# File lib/assets/builder.rb, line 48
def packages(packages)
  packages.each do |package|
    package(package)
  end
  self
end