Class: Patterns::Form
- Inherits:
-
Object
- Object
- Patterns::Form
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/patterns/form.rb
Constant Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
- #as(form_owner) ⇒ Object
-
#initialize(*args) ⇒ Form
constructor
A new instance of Form.
- #model_name ⇒ Object
- #persisted? ⇒ Boolean
- #save ⇒ Object
- #save! ⇒ Object
- #to_key ⇒ Object
- #to_model ⇒ Object
- #to_param ⇒ Object
- #to_partial_path ⇒ Object
Constructor Details
#initialize(*args) ⇒ Form
Returns a new instance of Form.
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/patterns/form.rb', line 13 def initialize(*args) attributes = args. if attributes.blank? && args.last.is_a?(ActionController::Parameters) attributes = args.pop.to_unsafe_h end @resource = args.first super(build_original_attributes.merge(attributes)) end |
Class Method Details
.param_key(key = nil) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/patterns/form.rb', line 72 def self.param_key(key = nil) if key.nil? @param_key else @param_key = key end end |
Instance Method Details
#as(form_owner) ⇒ Object
35 36 37 38 |
# File 'lib/patterns/form.rb', line 35 def as(form_owner) @form_owner = form_owner self end |
#model_name ⇒ Object
68 69 70 |
# File 'lib/patterns/form.rb', line 68 def model_name @model_name ||= OpenStruct.new(model_name_attributes) end |
#persisted? ⇒ Boolean
60 61 62 63 64 65 66 |
# File 'lib/patterns/form.rb', line 60 def persisted? if resource.present? && resource.respond_to?(:persisted?) resource.persisted? else false end end |
#save ⇒ Object
25 26 27 |
# File 'lib/patterns/form.rb', line 25 def save valid? ? persist : false end |
#save! ⇒ Object
29 30 31 32 33 |
# File 'lib/patterns/form.rb', line 29 def save! save.tap do |saved| raise Invalid unless saved end end |
#to_key ⇒ Object
40 41 42 |
# File 'lib/patterns/form.rb', line 40 def to_key nil end |
#to_model ⇒ Object
48 49 50 |
# File 'lib/patterns/form.rb', line 48 def to_model self end |
#to_param ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/patterns/form.rb', line 52 def to_param if resource.present? && resource.respond_to?(:to_param) resource.to_param else nil end end |
#to_partial_path ⇒ Object
44 45 46 |
# File 'lib/patterns/form.rb', line 44 def to_partial_path nil end |