lib/property_sets.rb in property_sets-3.9.0 vs lib/property_sets.rb in property_sets-3.10.0
- old
+ new
@@ -5,17 +5,21 @@
begin
require 'property_sets/action_view_extension'
rescue LoadError
end
+if "#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}" == "6.1"
+ ActiveRecord::Base.singleton_class.alias_method :connection_class_for_self, :connection_classes
+end
+
module PropertySets
def self.ensure_property_set_class(association, owner_class_name)
const_name = "#{owner_class_name.demodulize}#{association.to_s.singularize.camelcase}"
namespace = owner_class_name.deconstantize.safe_constantize || Object
unless namespace.const_defined?(const_name, false)
- property_class = Class.new(ActiveRecord::Base) do
+ property_class = Class.new(parent_for_property_class(namespace, owner_class_name)) do
include PropertySets::PropertySetModel::InstanceMethods
extend PropertySets::PropertySetModel::ClassMethods
end
namespace.const_set(const_name, property_class)
@@ -23,7 +27,13 @@
property_class.owner_class = owner_class_name
property_class.owner_assoc = association
end
namespace.const_get(const_name.to_s)
+ end
+
+ def self.parent_for_property_class(namespace, owner_class_name)
+ namespace.const_get(owner_class_name).connection_class_for_self
+ rescue NameError
+ ::ActiveRecord::Base
end
end