Class: Bake::BakeryLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/bakery/model/loader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBakeryLoader

Returns a new instance of BakeryLoader.



20
21
22
23
# File 'lib/bakery/model/loader.rb', line 20

def initialize
  @env = RGen::Environment.new
  @model = RGen::Fragment::FragmentedModel.new(:env => @env)
end

Instance Attribute Details

#modelObject (readonly)

Returns the value of attribute model.



18
19
20
# File 'lib/bakery/model/loader.rb', line 18

def model
  @model
end

Instance Method Details

#load(filename) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 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