Module: Danica::DSL
- Included in:
- Builder, Expression, Function, VariablesHolder::VariablesBuilder
- Defined in:
- lib/danica/dsl.rb,
lib/danica/dsl/builder.rb
Defined Under Namespace
Classes: Builder
Class Method Summary collapse
- .build(&block) ⇒ Object
- .register(method, clazz = nil, base = nil) ⇒ Object
- .register_class(method, clazz) ⇒ Object
- .register_operator(method, clazz = nil) ⇒ Object
- .register_wrapper(method, clazz = nil) ⇒ Object
Instance Method Summary collapse
Class Method Details
.build(&block) ⇒ Object
26 27 28 |
# File 'lib/danica/dsl.rb', line 26 def build(&block) builder.instance_eval(&block) end |
.register(method, clazz = nil, base = nil) ⇒ Object
16 17 18 |
# File 'lib/danica/dsl.rb', line 16 def register(method, clazz = nil, base = nil) Builder.new(method, clazz, base).build end |
.register_class(method, clazz) ⇒ Object
20 21 22 23 24 |
# File 'lib/danica/dsl.rb', line 20 def register_class(method, clazz) define_method(method) do |*args| clazz.new(*args) end end |
.register_operator(method, clazz = nil) ⇒ Object
8 9 10 |
# File 'lib/danica/dsl.rb', line 8 def register_operator(method, clazz = nil) register(method, clazz, 'Danica::Operator') end |
.register_wrapper(method, clazz = nil) ⇒ Object
12 13 14 |
# File 'lib/danica/dsl.rb', line 12 def register_wrapper(method, clazz = nil) register(method, clazz, 'Danica::Wrapper') end |
Instance Method Details
#function(*variables, &block) ⇒ Object
39 40 41 |
# File 'lib/danica/dsl.rb', line 39 def function(*variables, &block) Function.build(*variables, &block).new end |