Sha256: 9264f68aeee7c838f8997ef6617074057b259d68d60f96f8220559276f48ec0d

Contents?: true

Size: 704 Bytes

Versions: 5

Compression:

Stored size: 704 Bytes

Contents

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

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
arel-1.0.1 spec/support/guards.rb
arel-1.0.0 spec/support/guards.rb
arel-1.0.0.rc1 spec/support/guards.rb
arel-compat-0.4.0 spec/support/guards.rb
arel-0.4.0 spec/support/guards.rb