class Assignbot::AssignerDsl

DSL class that will be instantiated on call of “assigner”

Attributes

target_class[R]

Public Class Methods

new(target_class) click to toggle source
# File lib/assignbot/dsl/assigner_dsl.rb, line 6
def initialize(target_class)
  @target_class = target_class
  # assignable instance
  @assignable_ic = Core.get_assignable(target_class)
end

Public Instance Methods

method_missing(name, *args) click to toggle source
# File lib/assignbot/dsl/assigner_dsl.rb, line 19
def method_missing(name, *args)
  params = args[0]
  fail DslError, 'Put in hash as an argument!' unless params.is_a?(Hash)
  
  source_variable = params[:from] || params['from']
  set(name, source_variable, :"#{source_variable}=")
end
set(target_variable, source_variable, receptor) click to toggle source
# File lib/assignbot/dsl/assigner_dsl.rb, line 12
def set(target_variable, source_variable, receptor)
  @assignable_ic.add_variable(:default,
                              target_variable,
                              source_variable,
                              receptor)
end