class Assignbot::Assignable
assignable represent the class, it has many assigner
Attributes
assigners[R]
all instances of assigners, type: Hash
target_class[R]
the target class of it
Public Class Methods
new(target_class)
click to toggle source
# File lib/assignbot/foundations/assignable.rb, line 9 def initialize(target_class) @target_class = target_class @assigners = {} end
Public Instance Methods
add_assigner(assigner)
click to toggle source
# File lib/assignbot/foundations/assignable.rb, line 14 def add_assigner(assigner) assigner_name = Assigner.canonify_name(assigner.name) assigners[assigner_name] = assigner nil end
add_variable(assigner_name, target_variable, source_variable, receptor)
click to toggle source
# File lib/assignbot/foundations/assignable.rb, line 25 def add_variable(assigner_name, target_variable, source_variable, receptor) # create one instance of Assigner unless defined assigner = get_assigner(assigner_name) if assigner.nil? assigner = Assigner.new(self, assigner_name) add_assigner(assigner) end variable = Variable.new(assigner) variable.target_variable = target_variable variable.source_variable = source_variable variable.receptor = receptor assigner.add_variable(variable) nil end
get_assigner(assigner_name)
click to toggle source
# File lib/assignbot/foundations/assignable.rb, line 20 def get_assigner(assigner_name) assigner = assigners[Assigner.canonify_name(assigner_name)] assigner end