Module: ProcSettingModule::ClassMethods

Defined in:
lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb

Instance Method Summary collapse

Instance Method Details

#add_setting_from(abs_path_dir, filename) ⇒ Object



25
26
27
28
29
30
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 25

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



12
13
14
15
16
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 12

def extend_object( extender )
  extender.instance_variable_set(:@validator, @validator)
  extender.singleton_class.__send__( :attr_accessor, :validator)
  super
end

#source_r_file(abs_path_dir, filename) ⇒ Object



18
19
20
21
22
23
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 18

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



32
33
34
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 32

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

#validatorObject



36
37
38
# File 'lib/statsailr/block_to_r/proc_setting_support/proc_setting_module.rb', line 36

def validator
  @validator
end