74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'lib/statsailr/block_to_r/sts_block_to_r.rb', line 74
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 )
}
finalizer = lzf_gen.finalizer
if finalizer.enabled?
finalizer_func = lzf_gen.gen_lazy_func( proc_command , [ FINALIZER_NAME, "", nil] , param_manager )
proc_lazy_funcs_with_print_result_opts.push( finalizer_func )
end
return proc_lazy_funcs_with_print_result_opts
end
|