module Abyme::Model::ClassMethods

Public Instance Methods

abyme_attributes() click to toggle source
# File lib/abyme/model.rb, line 15
def abyme_attributes
  Abyme::Model.instance_variable_get(:@permitted_attributes)[name]
end
abyme_for(association, permit: nil, reject: nil, class_name: nil, **options)
Alias for: abymize
abymize(association, permit: nil, reject: nil, class_name: nil, **options) click to toggle source
# File lib/abyme/model.rb, line 4
def abymize(association, permit: nil, reject: nil, class_name: nil, **options)
  default_options = {reject_if: :all_blank, allow_destroy: true}
  nested_attributes_options = default_options.merge(options)
  accepts_nested_attributes_for association, nested_attributes_options
  # Save allow_destroy value for this model/association for later
  save_destroy_option(association, nested_attributes_options[:allow_destroy])
  Abyme::Model.permit_attributes(name, association, permit || reject, permit.present?, class_name) if permit.present? || reject.present?
end
Also aliased as: abyme_for

Private Instance Methods

save_destroy_option(association, value) click to toggle source
# File lib/abyme/model.rb, line 21
def save_destroy_option(association, value)
  Abyme::Model.instance_variable_get(:@allow_destroy)[name][association] = value
end