Module: Card::Director::Phases
- Included in:
- Card::Director
- Defined in:
- card/lib/card/director/phases.rb
Overview
Validation, Storage, and Integration phase handling
Instance Method Summary collapse
-
#integration_phase ⇒ Object
-
#integration_phase_callback? ⇒ Boolean
-
#prepare_for_phases ⇒ Object
-
#storage_phase(&block) ⇒ Object
Unlike other phases, the storage phase takes a block, because it is called by an “around” callback.
-
#validation_phase ⇒ Object
-
#validation_phase_callback? ⇒ Boolean
Instance Method Details
#integration_phase ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'card/lib/card/director/phases.rb', line 44 def integration_phase # puts "integration phase: #{@card.name}" return if @abort @card.restore_changes_information run_stage :integrate run_stage :after_integrate run_stage :integrate_with_delay ensure @card.clear_changes_information unless @abort @card.expire unless Cardio. # if delaying, then expired by clear end |
#integration_phase_callback? ⇒ Boolean
13 14 15 |
# File 'card/lib/card/director/phases.rb', line 13 def integration_phase_callback? !@abort && !@only_storage_phase && main? end |
#prepare_for_phases ⇒ Object
17 18 19 20 21 22 |
# File 'card/lib/card/director/phases.rb', line 17 def prepare_for_phases @card.prepare_for_phases unless running? @card.identify_action @running = true @subdirectors.each(&:prepare_for_phases) end |
#storage_phase(&block) ⇒ Object
Unlike other phases, the storage phase takes a block, because it is called by an “around” callback
34 35 36 37 38 39 40 41 42 |
# File 'card/lib/card/director/phases.rb', line 34 def storage_phase &block catch_up_to_stage :prepare_to_store # unless @abort # puts "before store #{@card.name}: abort:#{@abort}" run_stage :store, &block # unless @abort run_stage :finalize # unless @abort raise ActiveRecord::RecordInvalid, @card if @card.errors.any? ensure @from_trash = nil end |
#validation_phase ⇒ Object
24 25 26 27 28 29 30 |
# File 'card/lib/card/director/phases.rb', line 24 def validation_phase run_stage :initialize run_stage :prepare_to_validate run_stage :validate ensure @card.errors.empty? end |
#validation_phase_callback? ⇒ Boolean
9 10 11 |
# File 'card/lib/card/director/phases.rb', line 9 def validation_phase_callback? !@only_storage_phase && head? end |