Module: Foundry
- Defined in:
- lib/dsl.rb,
lib/foundry.rb
Defined Under Namespace
Classes: Runner
Class Method Summary collapse
- .factory(model, name = nil, definition = nil, &block) ⇒ Object (also: foundry)
- .setup_foundries(&blk) ⇒ Object
Class Method Details
.factory(model, name = nil, definition = nil, &block) ⇒ Object Also known as: foundry
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/foundry.rb', line 2 def self.factory(model, name=nil, definition=nil, &block) name ||= :valid raise ArgumentError, "#{model.name} already has a method/scope named #{name}" if model.respond_to?(name) if definition.is_a? Hash definition = { :conditions => definition } elsif block_given? definition = block else raise ArgumentError, "You need to provide a definition or a lambda/block definition!" end model.named_scope name, definition end |
.setup_foundries(&blk) ⇒ Object
2 3 4 |
# File 'lib/dsl.rb', line 2 def self.setup_foundries(&blk) Runner.new.instance_eval(&blk) end |