Class: R
- Inherits:
-
Object
- Object
- R
- Defined in:
- lib/lang/r/impl.rb
Overview
r language protocol
Instance Method Summary collapse
- #build(code, _) ⇒ Object
-
#initialize(src, libs = [], **kwargs) ⇒ R
constructor
A new instance of R.
- #run_script(env, fname, task) ⇒ Object
Constructor Details
#initialize(src, libs = [], **kwargs) ⇒ R
Returns a new instance of R.
7 8 9 10 11 |
# File 'lib/lang/r/impl.rb', line 7 def initialize(src, libs = [], **kwargs) @src = src @libs = libs super(**kwargs) end |
Instance Method Details
#build(code, _) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/lang/r/impl.rb', line 13 def build(code, _) libraries = ([ :pipeR ] + @libs).map { |name| "suppressPackageStartupMessages(library(#{name}))" } sources = ["source('#{File.dirname(__FILE__)}/io.R')"] + (@src ? [@src] : []).map { |name| "source('#{SRC_DIR}/#{name}.R')" } extra = [ '`|` <- `%>>%`', "conn_args <- list(host='#{HOST}', user='#{USER}', dbname='#{DB}', port='#{PORT}')", 'args <- commandArgs(trailingOnly = T)', 'sql_input <- init_sql_input(conn_args, args[1])', 'table_input <- init_table_input(conn_args, args[1])', 'table_output <- init_table_output(conn_args, args[1])' ] [libraries, sources, extra, code].join "\n" end |
#run_script(env, fname, task) ⇒ Object
33 34 35 |
# File 'lib/lang/r/impl.rb', line 33 def run_script(env, fname, task) env.send :sh, "Rscript #{fname} '#{task.scope || 'public'}'" end |