module ProcBlockToR

Public Class Methods

create_lazy_funcs( blk , proc_setting_manager ) click to toggle source
# File lib/statsailr/block_to_r/sts_block_to_r.rb, line 72
def self.create_lazy_funcs( blk , proc_setting_manager )
  proc_command = blk.command
  param_manager = RBridge::RParamManager.new( blk.opts )
  proc_stmts = blk.stmts

  if ! proc_setting_manager.is_loaded?( proc_command )
    proc_setting_manager.load_setting( proc_command )
    p "#{proc_command} setting is loaded"
  end

  lzf_gen = LazyFuncGenerator.new
  lzf_gen.extend(Object.const_get("Proc"+proc_command.capitalize))
  
  validator = lzf_gen.validator
  if ! validator.nil?
    validator.check_and_modify( param_manager )
  end

  proc_lazy_funcs_with_print_result_opts = proc_stmts.map(){|proc_stmt|
    lzf_gen.gen_lazy_func( proc_command, proc_stmt, param_manager )
  }
  return proc_lazy_funcs_with_print_result_opts
end