Module: NiceForm::PrimaryKey::ClassMethods
- Defined in:
- lib/nice_form/primary_key.rb
Instance Method Summary collapse
- #define_primary_key(name, type = :integer) ⇒ Object
- #form_primary_key ⇒ Object
- #primary_key(name, type = :integer) ⇒ Object
- #undefine_primary_key(name) ⇒ Object
Instance Method Details
#define_primary_key(name, type = :integer) ⇒ Object
32 33 34 35 |
# File 'lib/nice_form/primary_key.rb', line 32 def define_primary_key(name, type = :integer) attribute name, type @form_primary_key = name.to_s end |
#form_primary_key ⇒ Object
19 20 21 |
# File 'lib/nice_form/primary_key.rb', line 19 def form_primary_key @form_primary_key ||= define_primary_key(NiceForm.config.primary_key[0], NiceForm.config.primary_key[1]) end |
#primary_key(name, type = :integer) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/nice_form/primary_key.rb', line 10 def primary_key(name, type = :integer) if name.is_a?(Array) type = name[1] name = name[0] end undefine_primary_key(form_primary_key) define_primary_key(name, type) end |
#undefine_primary_key(name) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/nice_form/primary_key.rb', line 23 def undefine_primary_key(name) if attribute_names.include?(name.to_s) undef_method(name.to_s) if respond_to?(name.to_s) undef_method("#{name}=") if respond_to?("#{name}=") attribute_types.delete(name.to_s) _default_attributes.send(:attributes).delete(name.to_s) end end |