module ActiveRecord::QueryMethods::CopyUnloadParser
Public Class Methods
parse_options(options, options_hash, valid_switches, valid_options, valid_unquoted_options, valid_special_options)
click to toggle source
# File lib/monkeypatch_activerecord.rb, line 9 def self.parse_options(options, options_hash, valid_switches, valid_options, valid_unquoted_options, valid_special_options) # credentials first credentials = nil if options_hash.has_key?(:credentials) credentials = options_hash[:credentials] else creds = {} creds[:aws_access_key_id] = options_hash[:aws_access_key_id] if options_hash.has_key?(:aws_access_key_id) creds[:aws_secret_access_key] = options_hash[:aws_secret_access_key] if options_hash.has_key?(:aws_secret_access_key) creds[:token] = options_hash[:token] if options_hash.has_key?(:token) creds[:master_symmetric_key] = options_hash[:master_symmetric_key] if options_hash.has_key?(:master_symmetric_key) credentials = creds.map{|k,v| "#{k}=#{v}"}.join(';') end option_list = [] option_list << "WITH CREDENTIALS AS #{connection.quote_value(credentials)}" unless credentials.blank? valid_switches.each do |switch_name| if options.include? switch_name option_list << switch_name.to_s.upcase end end valid_options.each do |option_name| if options_hash.has_key? option_name option_list << "#{option_name.to_s.upcase} AS #{connection.quote_value(options_hash[option_name])}" end end valid_unquoted_options.each do |option_name| if options_hash.has_key? option_name option_list << "#{option_name.to_s.upcase} #{options_hash[option_name]}" end end return credentials, option_list end