Module: Card::Set::All::Abort
- Extended by:
- Card::Set
- Defined in:
- tmpsets/set/mod003-core/all/abort.rb
Overview
Set: All cards (Abort)
Class Method Summary collapse
Instance Method Summary collapse
-
#abort(status, msg = "action canceled") ⇒ Object
The Card#abort method is for cleanly exiting an action without continuing to process any further events.
- #abortable ⇒ Object
- #aborting ⇒ Object
- #success ⇒ Object
Methods included from I18nScope
Methods included from Loader
#clean_empty_module_from_hash, #clean_empty_modules, #extended, #process_base_modules, #register_set
Methods included from Helpers
#abstract_set?, #all_set?, #num_set_parts, #shortname, #underscore
Methods included from Card::Set::AdvancedApi
#attachment, #ensure_set, #stage_method
Methods included from Format
#before, #format, layout_method_name, #view, view_method_name, view_setting_method_name, wrapper_method_name
Methods included from Inheritance
#include_set, #include_set_formats
Methods included from Basket
#abstract_basket, #add_to_basket, #basket, #unshift_basket
Methods included from Trait
#card_accessor, #card_reader, #card_writer, #require_field
Methods included from Event::Api
Class Method Details
.source_location ⇒ Object
7 |
# File 'tmpsets/set/mod003-core/all/abort.rb', line 7 def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/abort.rb"; end |
Instance Method Details
#abort(status, msg = "action canceled") ⇒ Object
The Card#abort method is for cleanly exiting an action without continuing to process any further events.
Three statuses are supported:
failure: adds an error, returns false on save success: no error, returns true on save triumph: similar to success, but if called on a subcard it causes the entire action to abort (not just the subcard)
18 19 20 21 22 23 24 25 26 27 |
# File 'tmpsets/set/mod003-core/all/abort.rb', line 18 def abort status, msg="action canceled" director.abort if status == :failure && errors.empty? errors.add :abort, msg elsif status.is_a?(Hash) && status[:success] success << status[:success] status = :success end raise Card::Error::Abort.new(status, msg) end |
#abortable ⇒ Object
34 35 36 37 38 |
# File 'tmpsets/set/mod003-core/all/abort.rb', line 34 def abortable yield rescue Card::Error::Abort => e handle_abort_error e end |
#aborting ⇒ Object
29 30 31 32 |
# File 'tmpsets/set/mod003-core/all/abort.rb', line 29 def aborting yield errors.any? ? abort(:failure) : abort(:success) end |