Class: Assets::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/assets/builder.rb

Overview

Asset builder

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, mime) ⇒ undefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Initialize object

Parameters:

  • name (String)
  • mime (Mime)


36
37
38
# File 'lib/assets/builder.rb', line 36

def initialize(name, mime)
  @name, @mime, @rules = name, mime, []
end

Instance Attribute Details

#rulesEnumerable<Rule> (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return rules

Returns:

  • (Enumerable<Rule>)


25
26
27
# File 'lib/assets/builder.rb', line 25

def rules
  @rules
end

Class Method Details

.run(name) {|builder| ... } ⇒ Rule

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Run builder

Parameters:

  • name (String)

Yields:

  • (builder)

Returns:



13
14
15
16
17
# 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

Instance Method Details

#append(rule) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Add rule

Parameters:

Returns:

  • (self)


78
79
80
81
82
83
84
85
86
# File 'lib/assets/builder.rb', line 78

def append(rule)
  unless rule.mime == @mime
    raise
  end

  @rules << rule

  self
end

#package(package) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Use package

Parameters:

Returns:

  • (self)


63
64
65
66
67
68
# File 'lib/assets/builder.rb', line 63

def package(package)
  package.mime(@mime).each do |rule|
    append(rule)
  end
  self
end

#packages(packages) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Use pacakges

Parameters:

Returns:

  • (self)


48
49
50
51
52
53
# File 'lib/assets/builder.rb', line 48

def packages(packages)
  packages.each do |package|
    package(package)
  end
  self
end