Sha256: c353cb5c8afac59339d858358c5a14011ee266ebd7ff3a0f15993494e5d56baa

Contents?: true

Size: 1.27 KB

Versions: 8

Compression:

Stored size: 1.27 KB

Contents

require 'active_record/connection_adapters/abstract/quoting'

module Ambition
  module Adapters
    module ActiveRecord
      class Base
        include ::ActiveRecord::ConnectionAdapters::Quoting

        def sanitize(value)
          if value.is_a? Array
            return value.map { |v| sanitize(v) }.join(', ')
          end

          case value
          when true,  'true'  
            '1'
          when false, 'false' 
            '0'
          when Regexp
            "'#{value.source}'"
          else 
            if owner.connected?
              ::ActiveRecord::Base.connection.quote(value) 
            else
              quote(value)
            end
          end
        rescue
          "'#{value}'"
        end

        def quote_column_name(value)
          if owner.connected?
            ::ActiveRecord::Base.connection.quote_column_name(value) 
          else
            value.to_s
          end
        end

        def dbadapter_name
          ::ActiveRecord::Base.connection.adapter_name
        rescue ::ActiveRecord::ConnectionNotEstablished
          'Abstract'
        end

        def statement(*args)
          @statement_instance ||= DatabaseStatements.const_get(dbadapter_name).new
          @statement_instance.send(*args)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
benhoskings-ambitious-activerecord-0.1.3.1 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3.2 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3.3 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3.4 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3.5 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3.6 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3.7 lib/ambition/adapters/active_record/base.rb
benhoskings-ambitious-activerecord-0.1.3 lib/ambition/adapters/active_record/base.rb