class Bake::BakeryLoader

Attributes

model[R]

Public Class Methods

new() click to toggle source
# File lib/bakery/model/loader.rb, line 20
def initialize
  @env = RGen::Environment.new
  @model = RGen::Fragment::FragmentedModel.new(:env => @env)
end

Public Instance Methods

load(filename) click to toggle source
# File lib/bakery/model/loader.rb, line 25
def load(filename)

  sumErrors = 0

  if not File.exist?filename
    Bake.formatter.printError("Error: #{filename} does not exist")
    ExitHelper.exit(1)
  end

  loader = RText::DefaultLoader.new(
    Bake::BakeryLanguage,
    @model,
    :file_provider => proc { [filename] },
    :cache => @DumpFileCache)
  loader.load()

  f = @model.fragments[0]

  f.data[:problems].each do |p|
    Bake.formatter.printError(p.message, p.file, p.line)
  end

  if f.data[:problems].length > 0
    ExitHelper.exit(1)
  end

  return @env

end