Skip to content

Commit 78b01ad

Browse files
committed
introduce new_index_definition helper to support IndexDefinition.new args changes
1 parent 2e9e976 commit 78b01ad

File tree

1 file changed

+33
-12
lines changed

1 file changed

+33
-12
lines changed

lib/arjdbc/jdbc/adapter.rb

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -690,17 +690,6 @@ def last_inserted_id(result)
690690
end
691691
end unless defined? ActiveRecord::Result
692692

693-
# Helper to easily override #table_definition (on AR 3.x/4.0) as :
694-
# ```
695-
# def table_definition(*args)
696-
# new_table_definition(TableDefinition, *args)
697-
# end
698-
# ```
699-
def new_table_definition(table_definition, *args)
700-
table_definition.new(self) # args ignored only used for 4.0
701-
end
702-
private :new_table_definition
703-
704693
# NOTE: make sure if adapter overrides #table_definition that it will
705694
# work on AR 3.x as well as 4.0
706695
if ActiveRecord::VERSION::MAJOR > 3
@@ -718,12 +707,19 @@ def create_table_definition(*args)
718707
end
719708

720709
# @note AR-4x arguments expected: `(name, temporary, options)`
721-
# @private documented above
710+
# @private documented bellow
722711
def new_table_definition(table_definition, *args)
723712
table_definition.new native_database_types, *args
724713
end
725714
private :new_table_definition
726715

716+
# @private
717+
def new_index_definition(table, name, unique, columns, lengths,
718+
orders = nil, where = nil, type = nil, using = nil)
719+
IndexDefinition.new(table, name, unique, columns, lengths, orders, where, type, using)
720+
end
721+
private :new_index_definition
722+
727723
#
728724

729725
# Provides backwards-compatibility on ActiveRecord 4.1 for DB adapters
@@ -738,6 +734,31 @@ def add_column_options!(sql, options)
738734
end
739735
public :add_column_options!
740736

737+
else # AR < 4.0
738+
739+
# Helper to easily override #table_definition (on AR 3.x/4.0) as :
740+
# ```
741+
# def table_definition(*args)
742+
# new_table_definition(TableDefinition, *args)
743+
# end
744+
# ```
745+
def new_table_definition(table_definition, *args)
746+
table_definition.new(self) # args ignored only used for 4.0
747+
end
748+
private :new_table_definition
749+
750+
# @private (:table, :name, :unique, :columns, :lengths, :orders)
751+
def new_index_definition(table, name, unique, columns, lengths,
752+
orders = nil, where = nil, type = nil, using = nil)
753+
IndexDefinition.new(table, name, unique, columns, lengths, orders)
754+
end
755+
# @private (:table, :name, :unique, :columns, :lengths)
756+
def new_index_definition(table, name, unique, columns, lengths,
757+
orders = nil, where = nil, type = nil, using = nil)
758+
IndexDefinition.new(table, name, unique, columns, lengths)
759+
end if ActiveRecord::VERSION::STRING < '3.2'
760+
private :new_index_definition
761+
741762
end
742763

743764
# @return whether `:prepared_statements` are to be used

0 commit comments

Comments
 (0)