module Grantinee::Engine
Constants
- SUPPORTED_ENGINES
- WHITELISTED_KINDS
Public Class Methods
detect_active_record_connection!()
click to toggle source
# File lib/grantinee/engine.rb, line 27 def detect_active_record_connection! return unless defined?(ActiveRecord::Base) configure_for_active_record(ActiveRecord::Base.connection_config) end
for(engine)
click to toggle source
Get appropriate engine class for the engine name
# File lib/grantinee/engine.rb, line 11 def for(engine) logger.debug "Using engine: #{engine}" unless SUPPORTED_ENGINES.include?(engine.to_s) raise "Engine '#{engine}' is not supported, supported engines: #{SUPPORTED_ENGINES}" end case engine.to_s when 'mysql' require 'grantinee/engine/mysql' Mysql.new when 'postgresql' require 'grantinee/engine/postgresql' Postgresql.new end end
Private Class Methods
configure_for_active_record(ar_config)
click to toggle source
# File lib/grantinee/engine.rb, line 39 def configure_for_active_record(ar_config) if ar_config[:url] configure_for_active_record_url(ar_config) else configure_for_active_record_fields(ar_config) end Grantinee.configuration.engine = case ar_config[:adapter] when 'mysql', 'mysql2' :mysql when 'postgresql', 'pg' :postgresql end end
configure_for_active_record_fields(ar_config)
click to toggle source
# File lib/grantinee/engine.rb, line 58 def configure_for_active_record_fields(ar_config) Grantinee.configuration.username = ar_config[:username] Grantinee.configuration.password = ar_config[:password] Grantinee.configuration.hostname = ar_config[:host] Grantinee.configuration.port = ar_config[:port] Grantinee.configuration.database = ar_config[:database] end
configure_for_active_record_url(ar_config)
click to toggle source
# File lib/grantinee/engine.rb, line 54 def configure_for_active_record_url(ar_config) Grantinee.configuration.url = ar_config[:url] end
logger()
click to toggle source
# File lib/grantinee/engine.rb, line 35 def logger Grantinee.logger end