# File lib/formalism/model_forms/_base.rb, line 46 def primary_field(name, *args, **kwargs) remove_field primary_field_name if primary_field_name field name, *args, **kwargs self.primary_field_name = name end
module Formalism::ModelForms::Base::ClassMethods
Module for Base
form class methods
Attributes
primary_field_name[RW]
Public Instance Methods
included(something)
click to toggle source
Calls superclass method
# File lib/formalism/model_forms/_base.rb, line 39 def included(something) super something.primary_field_name = primary_field_name end
inherited(form)
click to toggle source
Calls superclass method
# File lib/formalism/model_forms/_base.rb, line 27 def inherited(form) super form.primary_field_name = primary_field_name return if form.instance_name == :model return if form.method_defined?(form.instance_name.to_s) form.alias_method form.instance_name, :instance form.alias_method "#{form.instance_name}=", :instance= end
instance_name()
click to toggle source
# File lib/formalism/model_forms/_base.rb, line 76 def instance_name model_name.underscore.to_sym end
instance_variable_name()
click to toggle source
# File lib/formalism/model_forms/_base.rb, line 80 def instance_variable_name :"@#{instance_name}" end
model()
click to toggle source
# File lib/formalism/model_forms/_base.rb, line 72 def model self::MODELS_NAMESPACE.const_get(model_name, false) end
model_name()
click to toggle source
# File lib/formalism/model_forms/_base.rb, line 67 def model_name deconstantize.split('::')[2..-1].reverse .find { |part| self::MODELS_NAMESPACE&.const_defined?(part, false) || part == 'Model' } end
namespace()
click to toggle source
# File lib/formalism/model_forms/_base.rb, line 63 def namespace self::FORMS_NAMESPACE.const_get(deconstantize) end
primary_field(name, *args, **kwargs)
click to toggle source
remove_field(name)
click to toggle source
Calls superclass method
# File lib/formalism/model_forms/_base.rb, line 54 def remove_field(name) super self.primary_field_name = nil if name == primary_field_name end