Module: ProcSettingModule::ClassMethods
- Defined in:
- lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb
Instance Method Summary collapse
- #add_setting_from(abs_path_dir, filename) ⇒ Object
- #extend_object(extender) ⇒ Object
- #finalizer ⇒ Object
- #finalizer_enabled ⇒ Object
- #source_r_file(abs_path_dir, filename) ⇒ Object
- #validate_option(opt_key, is_a: nil, as: nil, required: true) ⇒ Object
- #validator ⇒ Object
Instance Method Details
#add_setting_from(abs_path_dir, filename) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 29 def add_setting_from( abs_path_dir, filename) raise "directory path should be specified in absolute path for " + __method__ unless Pathname.new(abs_path_dir).absolute? require( abs_path_dir + "/" + filename ) klass_name = File.basename( filename , ".rb").split("_").map{|elem| elem.capitalize()}.join("") + "Setting" # e.g. dev_copy.rb => DevCopySetting self.include(Object.const_get(klass_name)) end |
#extend_object(extender) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 14 def extend_object( extender ) extender.instance_variable_set(:@validator, @validator) extender.singleton_class.__send__( :attr_accessor, :validator) extender.instance_variable_set(:@finalizer, @finalizer) extender.singleton_class.__send__( :attr_accessor, :finalizer) super end |
#finalizer ⇒ Object
48 49 50 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 48 def finalizer @finalizer end |
#finalizer_enabled ⇒ Object
44 45 46 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 44 def finalizer_enabled @finalizer.enabled = true end |
#source_r_file(abs_path_dir, filename) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 22 def source_r_file( abs_path_dir, filename) raise "directory path should be specified in absolute path for " + __method__ unless Pathname.new(abs_path_dir).absolute? r_path = abs_path_dir + "/" + filename func = RBridge::create_function_call("source", { "file" => RBridge::create_strvec([r_path])} ) RBridge::exec_function(func) end |
#validate_option(opt_key, is_a: nil, as: nil, required: true) ⇒ Object
36 37 38 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 36 def validate_option(opt_key, is_a: nil, as: nil , required: true) @validator.rule( opt_key, is_a: is_a, as: as, required: required ) end |
#validator ⇒ Object
40 41 42 |
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 40 def validator @validator end |