Module: Ravensat::Extension::Domain

Included in:
Ravensat::Extension
Defined in:
lib/ravensat/extension/domain.rb

Constant Summary collapse

LOCAL_VARIABLE_TABLE =
{}

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



19
20
21
# File 'lib/ravensat/extension/domain.rb', line 19

def method_missing(name, *args)
  LOCAL_VARIABLE_TABLE[name] || UndefinedVariable.new(name, args)
end

Instance Method Details

#bool(*vars) ⇒ Object



12
13
14
15
16
17
# File 'lib/ravensat/extension/domain.rb', line 12

def bool(*vars)
  vars.each do |var|
    next if var.is_defined?
    LOCAL_VARIABLE_TABLE[var.name] = Ravensat::Extension::BooleanVariable.new(var.name, var.args)
  end
end

#int(*vars) ⇒ Object



5
6
7
8
9
10
# File 'lib/ravensat/extension/domain.rb', line 5

def int(*vars)
  vars.each do |var|
    next if var.is_defined?
    LOCAL_VARIABLE_TABLE[var.name] = Ravensat::Extension::IntegerVariable.new(var.name, var.args)
  end
end