class ItgApi
Attributes
silence_methods[R]
Public Class Methods
new(itg:nil)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 144 def initialize(itg:nil) @itg = itg end
Public Instance Methods
def_var_func(name)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 190 def def_var_func(name) self.define_singleton_method(name) do instance_variable_get("@_#{name}") end end
define_active_behavior(name,*args,&block)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 203 def define_active_behavior(name,*args,&block) define_active_method(name,*args,&block) end
define_active_method(name,*args,&block)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 196 def define_active_method(name,*args,&block) define_singleton_method(name) do instance_variable_set("@_#{name}_as_",true) block.call(*args) end end
define_silence_behavior(name,bind_module,*args,&block)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 207 def define_silence_behavior(name,bind_module,*args,&block) before_gen_sv_module_of(bind_module) do unless instance_variable_get("@_#{name}_as_") block.call(bind_module,*args) end end end
var(name,&block)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 173 def var(name,&block) _var = instance_variable_get("@_#{name}") if name.to_s.eql? "req_inf" puts "#{self.to_s} IN IGT #{_var}" puts singleton_methods end if _var return _var else instance_variable_set("@_#{name}",block.call(self)) def_var_func(name) instance_variable_get("@_#{name}") end end
Private Instance Methods
before_gen_sv_module_of(bind_module,&block)
click to toggle source
# File lib/tdl/exlib/itegration.rb, line 150 def before_gen_sv_module_of(bind_module,&block) if bind_module.respond_to?(:igt_apis_proc) bind_module.igt_apis_proc << block else bind_module.instance_variable_set("@_igt_apis_",[block]) bind_module.define_singleton_method("igt_apis_proc") do self.instance_variable_get("@_igt_apis_") end old_gen_sv_module = bind_module.method(:gen_sv_module) bind_module.define_singleton_method(:gen_sv_module) do self.igt_apis_proc.each do |ias| ias.call end old_gen_sv_module.call end end end