Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b6019ac

Browse files
committed
Added: database_type to configuration
1 parent 0686795 commit b6019ac

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

‎lib/closure_tree/configuration.rb‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
module ClosureTree
22
class Configuration # :nodoc:
33
attr_accessor :database_less
4+
attr_accessor :database_type
45

56
def initialize
67
@database_less = ENV['DATABASE_URL'].to_s.include?('//user:pass@127.0.0.1/')

‎lib/closure_tree/numeric_order_support.rb‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ def self.adapter_for_connection(connection)
1212
end
1313
end
1414

15+
def self.adapter_for_database_type(database_type)
16+
case database_type
17+
when :postgresql
18+
::ClosureTree::NumericOrderSupport::PostgreSQLAdapter
19+
when :mysql
20+
::ClosureTree::NumericOrderSupport::MysqlAdapter
21+
else
22+
::ClosureTree::NumericOrderSupport::GenericAdapter
23+
end
24+
end
25+
1526
module MysqlAdapter
1627
def reorder_with_parent_id(parent_id, minimum_sort_order_value = nil)
1728
return if parent_id.nil? && dont_order_roots

‎lib/closure_tree/support.rb‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ def initialize(model_class, options)
2727
}.merge(options)
2828
raise ArgumentError, "name_column can't be 'path'" if options[:name_column] == 'path'
2929
if order_is_numeric?
30-
extend NumericOrderSupport.adapter_for_connection(connection)
30+
if ClosureTree.configuration.database_type
31+
extend NumericOrderSupport.adapter_for_database_type(ClosureTree.configuration.database_type)
32+
else
33+
extend NumericOrderSupport.adapter_for_connection(connection)
34+
end
3135
end
3236
end
3337

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /