class OracleClientInstaller

Constants

VERSION

Attributes

env[R]
interpolator[R]
script_list[R]

Public Class Methods

new(config_file_name) click to toggle source
# File lib/oracle_client_installer/oracle_client_installer.rb, line 11
def initialize config_file_name
  @interpolator = TextInterpolator.new

  @env = read_config(config_file_name)

  puts "ruby home: #{env[:ruby_home]}"
  puts "ruby_oci_version: #{env[:ruby_oci_version]}"
  puts "user: #{env[:user]}"

  @script_list = scripts(File.expand_path('scripts.sh', File.dirname(__FILE__)))
end

Public Instance Methods

install() click to toggle source
# File lib/oracle_client_installer/oracle_client_installer.rb, line 23
def install
  run({:sudo => true, :capture_output => true}, "install", env)

  run({}, "install-ruby-oci8", env)
end
uninstall() click to toggle source
# File lib/oracle_client_installer/oracle_client_installer.rb, line 29
def uninstall
  run({:sudo => true}, "uninstall", env)
end
verify(&code) click to toggle source
# File lib/oracle_client_installer/oracle_client_installer.rb, line 33
def verify &code
  run({}, "verify", env.merge(:cmd => code.call))
end

Private Instance Methods

read_config(config_file_name) click to toggle source
# File lib/oracle_client_installer/oracle_client_installer.rb, line 39
def read_config config_file_name
  hash = JSON.parse(File.read(config_file_name), :symbolize_names => true)

  interpolator.interpolate hash
end
run(server_info, script_name, env) click to toggle source
# File lib/oracle_client_installer/oracle_client_installer.rb, line 45
def run server_info, script_name, env
  execute(server_info) { evaluate_script_body(script_list[script_name], env, :string) }
end