class Assets::Package::Builder

Attributes

contents[R]

Return contents

@return [Hash]

@api private

repository[R]

Return repository

@return [Repository]

@api private

Public Class Methods

new(repository) click to toggle source

Initialize object

@param [Repository] repository

@return [undefined]

@api private

# File lib/assets/package.rb, line 52
def initialize(repository)
  @repository = repository
  @contents = Hash.new { |hash, key| hash[key] = [] }
end
run(directory) { |builder| ... } click to toggle source

Run builder

@param [String] directory

@return [Package]

@api private

# File lib/assets/package.rb, line 37
def self.run(directory)
  repository = Repository::Directory.new(directory)
  builder = new(repository)
  yield builder
  Package.new(repository, builder.contents)
end

Public Instance Methods

append(rule) click to toggle source

Append rule

@param [Rule] rule

@return [self]

@api private

# File lib/assets/package.rb, line 117
def append(rule)
  @contents[rule.mime] << rule
  self
end
compile(name) click to toggle source

Add compile

@param [String] name

@return [self]

@api private

# File lib/assets/package.rb, line 81
def compile(name)
  append(repository.compile(name))
end
file(name) click to toggle source

Add static file

@param [String] name

@return [self]

@api private

# File lib/assets/package.rb, line 93
def file(name)
  append(repository.file(name))
end
glob(pattern) click to toggle source

Perform glob

@param [String] pattern

@return [Enumerable<String>]

@api private

# File lib/assets/package.rb, line 105
def glob(pattern)
  repository.glob(pattern)
end