class Arproxy::Config
Attributes
adapter[RW]
logger[RW]
proxies[R]
Public Class Methods
new()
click to toggle source
# File lib/arproxy/config.rb, line 9 def initialize @proxies = [] if defined?(Rails) @adapter = Rails.application.config_for(:database)["adapter"] end end
Public Instance Methods
adapter_class()
click to toggle source
# File lib/arproxy/config.rb, line 26 def adapter_class raise Arproxy::Error, "config.adapter must be set" unless @adapter case @adapter when String, Symbol eval "::ActiveRecord::ConnectionAdapters::#{camelized_adapter_name}Adapter" when Class @adapter else raise Arproxy::Error, "unexpected config.adapter: #{@adapter}" end end
plugin(name, *options)
click to toggle source
# File lib/arproxy/config.rb, line 21 def plugin(name, *options) plugin_class = Plugin.get(name) use(plugin_class, *options) end
use(proxy_class, *options)
click to toggle source
# File lib/arproxy/config.rb, line 16 def use(proxy_class, *options) ::Arproxy.logger.debug("Arproxy: Mounting #{proxy_class.inspect} (#{options.inspect})") @proxies << [proxy_class, options] end
Private Instance Methods
camelized_adapter_name()
click to toggle source
# File lib/arproxy/config.rb, line 40 def camelized_adapter_name adapter_name = @adapter.to_s.split("_").map(&:capitalize).join case adapter_name when 'Sqlite3' 'SQLite3' when 'Sqlserver' 'SQLServer' else adapter_name end end