Class: Sullivan::DSL

Inherits:
BasicObject
Defined in:
lib/sullivan.rb

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *args) ⇒ Object



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

def method_missing(method_name, *args)
  constant_name = DSL.camelize(method_name.to_s)

  if ::Sullivan::Validations.const_defined?(constant_name)
    klass = ::Sullivan::Validations.const_get(constant_name)
    klass.new(*args)
  else
    super
  end
end

Class Method Details

.camelize(string) ⇒ Object



27
28
29
# File 'lib/sullivan.rb', line 27

def self.camelize(string)
  string.split('_').map(&:capitalize).join
end