Class: Foundry::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/dsl.rb

Instance Method Summary collapse

Instance Method Details

#factory(name, definition = nil, &blk) ⇒ Object Also known as: foundry



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/dsl.rb', line 15

def factory(name, definition=nil, &blk)
  if block_given?
    behavior = proc { {:conditions => blk.call} }
    Foundry.factory(@klass, name, &behavior)
  elsif definition || !@attrs.empty?
    @attrs.merge!(definition) if definition
    Foundry.factory(@klass, name, @attrs)
  else
    raise ArgumentError, "You need to provide a definition or a lambda/block definition!"
  end
end

#model(klass, &blk) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/dsl.rb', line 7

def model(klass, &blk)
  @klass = klass
  @attrs = {}

  instance_eval(&blk)
  add_with_scope unless klass.respond_to?(:with)
end