Module: Formally::Overrides
- Defined in:
- lib/formally/overrides.rb
Instance Method Summary collapse
Instance Method Details
#fill(data = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/formally/overrides.rb', line 8 def fill data={} if data.respond_to?(:permit!) # Assume ActionController::Parameters or similar # The schema will handle whitelisting allowed attributes data = data.permit!.to_h.deep_symbolize_keys end formally.call data if formally.valid? super formally.data end self end |
#initialize(*args) ⇒ Object
3 4 5 6 |
# File 'lib/formally/overrides.rb', line 3 def initialize *args super(*args) @formally = self.class.formally.new self end |
#save ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/formally/overrides.rb', line 24 def save return false unless formally.valid? formally.transaction do super end true end |
#save! ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/formally/overrides.rb', line 32 def save! unless save ex = Formally::Invalid.new ex.form = self ex.errors = errors raise ex end true end |