Class: Odsl::Builder

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

Class Method Summary collapse

Class Method Details

.build(*modules) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/odsl/builder.rb', line 5

def build(*modules)
  business_class = begin
    Object.const_get class_name(modules)
  rescue StandardError
    nil
  end
  business_class ||= Object.const_set(class_name(modules), Class.new)

  modules.each do |mod|
    business_class.send(:include, mod)
  end

  business_class
end

.class_name(modules) ⇒ Object



20
21
22
# File 'lib/odsl/builder.rb', line 20

def class_name(modules)
  "Builder_#{modules.map(&:to_s).join('_')}".gsub('::','_')
end

.method_from_bool(mode) ⇒ Object



24
25
26
# File 'lib/odsl/builder.rb', line 24

def method_from_bool(mode)
  mode ? :on : :off
end