class Salt::Saltfile

Attributes

basedir[R]
formuladir[R]
formulas[R]
saltfile[R]

Public Class Methods

new(basedir='.', formuladir=nil, saltfile=nil) click to toggle source

@param [String] basedir @param [String] formuladir @param [String] saltfile

# File lib/salt/saltfile.rb, line 16
def initialize(basedir='.', formuladir=nil, saltfile=nil)
  @basedir = basedir
  @formuladir = formuladir || @basedir
  @saltfile = saltfile || File.join(@basedir, 'Saltfile')
  
  @formulas = []
end

Public Instance Methods

add_formula(name, args) click to toggle source

@param [String] name @param [*Object] args

# File lib/salt/saltfile.rb, line 45
def add_formula(name, args)
  @formulas << Salt::Formula.new(name, @formuladir, args)
end
load() click to toggle source
# File lib/salt/saltfile.rb, line 25
def load 
  if File.readable? @saltfile
    self.load!
  else
    $stderr.puts "Saltfile (#{@saltfile}) missing or unreadable"
  end
end
load!() click to toggle source
# File lib/salt/saltfile.rb, line 34
def load!
  dsl = DSL.new(self)
  dsl.instance_eval(saltfile_contents, @saltfile)
rescue SyntaxError, LoadError => e
  puts e.inspect.magenta
  raise Salt::Matrix::Error.wrap(e, "Failed to process #{@saltfile}")
end
saltfile_contents() click to toggle source

@return [File]

# File lib/salt/saltfile.rb, line 50
def saltfile_contents
  File.read(@saltfile)
end