Sha256: 9bdae80f88d20896ad2e34a12b8cdbcaac890da033ce892c9df0de1646f2b6b3

Contents?: true

Size: 1.43 KB

Versions: 6

Compression:

Stored size: 1.43 KB

Contents

module SchemaMonkey
  module ActiveRecord
    module ConnectionAdapters
      module Sqlite3Adapter

        def self.included(base)
          base.class_eval do
            alias_method_chain :indexes, :schema_monkey
            alias_method_chain :tables, :schema_monkey
          end
          SchemaMonkey.include_once ::ActiveRecord::ConnectionAdapters::SchemaStatements, SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Column
          SchemaMonkey.include_once ::ActiveRecord::ConnectionAdapters::SchemaStatements, SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Reference
          SchemaMonkey.include_once ::ActiveRecord::ConnectionAdapters::SchemaStatements, SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Index
        end

        def indexes_with_schema_monkey(table_name, query_name=nil)
          Middleware::Query::Indexes.start connection: self, table_name: table_name, query_name: query_name, index_definitions: [] do |env|
            env.index_definitions += indexes_without_schema_monkey env.table_name, env.query_name
          end
        end

        def tables_with_schema_monkey(query_name=nil, table_name=nil)
          Middleware::Query::Tables.start connection: self, query_name: query_name, table_name: table_name, tables: [] do |env|
            env.tables += tables_without_schema_monkey env.query_name, env.table_name
          end
        end

      end
    end
  end
end


Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
schema_monkey-0.4.1 lib/schema_monkey/active_record/connection_adapters/sqlite3_adapter.rb
schema_monkey-0.4.0 lib/schema_monkey/active_record/connection_adapters/sqlite3_adapter.rb
schema_monkey-0.3.2 lib/schema_monkey/active_record/connection_adapters/sqlite3_adapter.rb
schema_monkey-0.3.1 lib/schema_monkey/active_record/connection_adapters/sqlite3_adapter.rb
schema_monkey-0.3.0 lib/schema_monkey/active_record/connection_adapters/sqlite3_adapter.rb
schema_monkey-0.2.0 lib/schema_monkey/active_record/connection_adapters/sqlite3_adapter.rb