lib/avo/base_resource.rb in avo-2.16.1.pre.1.nativefields vs lib/avo/base_resource.rb in avo-2.17.0
- old
+ new
@@ -99,9 +99,35 @@
def order_actions
return {} if ordering.blank?
ordering.dig(:actions) || {}
end
+
+ def get_record_associations(record)
+ record._reflections
+ end
+
+ def valid_association_name(record, association_name)
+ get_record_associations(record).keys.find do |name|
+ name == association_name
+ end
+ end
+
+ def valid_attachment_name(record, association_name)
+ get_record_associations(record).keys.each do |name|
+ return association_name if name == "#{association_name}_attachment" || name == "#{association_name}_attachments"
+ end
+ end
+
+ def get_available_models
+ ApplicationRecord.descendants
+ end
+
+ def valid_model_class(model_class)
+ get_available_models.find do |m|
+ m.to_s == model_class.to_s
+ end
+ end
end
def initialize
unless self.class.model_class.present?
if model_class.present? && model_class.respond_to?(:base_class)