Class: Dumbo::Test::Fixture

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/dumbo/test/fixture.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFixture

Returns a new instance of Fixture.



13
14
15
# File 'lib/dumbo/test/fixture.rb', line 13

def initialize
  @fixtures = {}
end

Instance Attribute Details

#fixturesObject (readonly)

Returns the value of attribute fixtures.



7
8
9
# File 'lib/dumbo/test/fixture.rb', line 7

def fixtures
  @fixtures
end

Class Method Details

.fixturesObject



9
10
11
# File 'lib/dumbo/test/fixture.rb', line 9

def self.fixtures
  instance.fixtures
end

Instance Method Details

#eval_fixture(file, contents = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/dumbo/test/fixture.rb', line 17

def eval_fixture(file,contents=nil)
  contents ||= File.read(file.to_s)
  instance_eval(contents)
  @fixtures
rescue SyntaxError => e
  syntax_msg = e.message.gsub("#{file}:", 'on line ')
  raise "Fixture syntax error #{syntax_msg}"
rescue ScriptError, RegexpError, NameError, ArgumentError => e
  e.backtrace[0] = "#{e.backtrace[0]}: #{e.message} (#{e.class})"
  puts e.backtrace.join("\n       ")
  raise "There was an error in your Fixture," \
    + e.message
end

#fixture(name, *args) ⇒ Object



31
32
33
34
35
36
# File 'lib/dumbo/test/fixture.rb', line 31

def fixture(name, *args)
  opts = extract_options!(args)
  table_name = args.first || name

  @fixtures[name] = [table_name, opts]
end