Skip to content

Commit 5c0e274

Browse files
committed
Improve previous patch to support older versions of Rails
1 parent 76edb79 commit 5c0e274

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

lib/ajax-datatables-rails/base.rb

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,27 @@
33
module AjaxDatatablesRails
44
class Base
55

6-
class_attribute :db_adapter, default: ::ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).first.adapter.downcase.to_sym
6+
class << self
7+
def rails_52?
8+
Rails.gem_version >= Gem::Version.new('5.2') && Rails.gem_version <= Gem::Version.new('6.0')
9+
end
10+
11+
def rails_60?
12+
Rails.gem_version >= Gem::Version.new('6.0') && Rails.gem_version <= Gem::Version.new('6.1')
13+
end
14+
15+
def default_db_adapter
16+
if rails_52?
17+
::ActiveRecord::Base.configurations.dig(Rails.env, 'adapter').downcase.to_sym
18+
elsif rails_60?
19+
::ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).first.config['adapter'].downcase.to_sym
20+
else
21+
::ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).first.adapter.downcase.to_sym
22+
end
23+
end
24+
end
25+
26+
class_attribute :db_adapter, default: default_db_adapter
727
class_attribute :nulls_last, default: false
828

929
attr_reader :params, :options, :datatable

0 commit comments

Comments
 (0)