Class: SimpleFactory::DSL

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDSL

Returns a new instance of DSL.



7
8
9
# File 'lib/simple_factory/dsl.rb', line 7

def initialize
  @definitions = []
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



11
12
13
14
15
16
# File 'lib/simple_factory/dsl.rb', line 11

def method_missing(name, *args, &block)
  unless args.size >= 1 || block
    raise ArgumentError, 'an argument or a block is required'
  end
  @definitions << Definition.new(name, (args.size >= 1 ? args.first : block))
end

Instance Attribute Details

#definitionsObject (readonly)

Returns the value of attribute definitions.



5
6
7
# File 'lib/simple_factory/dsl.rb', line 5

def definitions
  @definitions
end