mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
28 lines
704 B
Ruby
28 lines
704 B
Ruby
module AdapterGuards
|
|
def adapter_is(*names)
|
|
names = names.map(&:to_s)
|
|
names.each{|name| verify_adapter_name(name)}
|
|
yield if names.include? adapter_name
|
|
end
|
|
|
|
def adapter_is_not(*names)
|
|
names = names.map(&:to_s)
|
|
names.each{|name| verify_adapter_name(name)}
|
|
yield unless names.include? adapter_name
|
|
end
|
|
|
|
def adapter_name
|
|
name = ActiveRecord::Base.configurations["unit"][:adapter]
|
|
name = 'oracle' if name == 'oracle_enhanced'
|
|
verify_adapter_name(name)
|
|
name
|
|
end
|
|
|
|
def verify_adapter_name(name)
|
|
raise "Invalid adapter name: #{name}" unless valid_adapters.include?(name.to_s)
|
|
end
|
|
|
|
def valid_adapters
|
|
%w[mysql postgresql sqlite3 oracle]
|
|
end
|
|
end
|