Module: Card::Set::All::History::Events
- Extended by:
- Card::Set
- Defined in:
- platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb
Overview
Set: All cards (History, Events)
Constant Summary
Constants included from Helpers
Helpers::SET_PATTERN_TEST_REGEXP
Constants included from Event::Api
Class Method Summary collapse
Instance Method Summary collapse
-
#actionable? ⇒ Boolean
can we store an action? (can be overridden, eg in files).
-
#edit_conflict? ⇒ Boolean
-
#event: assign_action ⇒ Object
must be called on all actions and before :set_name, :process_subcards and :delete_children.
-
#event: detect_conflict ⇒ Object
-
#event: finalize_act ⇒ Object
-
#event: finalize_action ⇒ Object
stores changes in the changes table and assigns them to the current action removes the action if there are no changes.
-
#event: rollback_actions ⇒ Object
-
#event: update_ancestor_timestamps ⇒ Object
-
#finalize_action? ⇒ Boolean
-
#remove_empty_act? ⇒ Boolean
Methods included from Card::Set
Methods included from I18nScope
Methods included from Registrar
#extended, #finalize_load, #process_base_modules, #register_set
Methods included from Helpers
#format_module, #format_modules, #method_missing, #modules, #pattern_code, #respond_to_missing?, #set_name_parts, #shortname, #underscored_name
Methods included from Card::Set::AdvancedApi
#assign_type, #attachment, #define_set_from_error, #ensure_set, #setting_opts, #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 Trait
#card_accessor, #card_reader, #card_writer, #require_field
Methods included from Event::Api
Class Method Details
.source_location ⇒ Object
7 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 7 def self.source_location; "/Users/ethan/dev/decko/gem/mod/history/set/all/history/events.rb"; end |
Instance Method Details
#actionable? ⇒ Boolean
can we store an action? (can be overridden, eg in files)
60 61 62 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 60 def actionable? history? end |
#edit_conflict? ⇒ Boolean
72 73 74 75 76 77 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 72 def edit_conflict? last_action_id_before_edit && last_action_id_before_edit.to_i != last_action_id && (la = last_action) && la.act.actor_id != Auth.current_id end |
#event: assign_action ⇒ Object
must be called on all actions and before :set_name, :process_subcards and :delete_children
22 23 24 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 22 event :assign_action, :initialize, when: :actionable? do @current_action = new_action end |
#event: detect_conflict ⇒ Object
26 27 28 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 26 event :detect_conflict, :validate, on: :update, when: :edit_conflict? do errors.add :conflict, ::I18n.t(:history_error_not_latest_revision) end |
#event: finalize_act ⇒ Object
55 56 57 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 55 event :finalize_act, after: :finalize_action, when: :act_card? do Card::Director.act.update! card_id: id end |
#event: finalize_action ⇒ Object
stores changes in the changes table and assigns them to the current action removes the action if there are no changes
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 32 event :finalize_action, :finalize, when: :finalize_action? do if changed_fields.present? @current_action.update! card_id: id # NOTE: #last_change_on uses the id to sort by date # so the changes for the create changes have to be created before the first change store_card_changes_for_create_action if first_change? store_card_changes unless first_create? # FIXME: a `@current_action.card` call here breaks specs in solid_cache_spec.rb elsif @current_action.card_changes.reload.empty? @current_action.delete @current_action = nil end end |
#event: rollback_actions ⇒ Object
47 48 49 50 51 52 53 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 47 event :rollback_actions, :prepare_to_validate, on: :update, when: :rollback_request? do update_args = process_revert_actions Env.params["revert_actions"] = nil update! update_args clear_drafts abort :success end |
#event: update_ancestor_timestamps ⇒ Object
8 9 10 11 12 13 14 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 8 event :update_ancestor_timestamps, :integrate do ids = history_ancestor_ids return unless ids.present? Card.where(id: ids).update_all(updater_id: Auth.current_id, updated_at: Time.now) ids.map { |anc_id| Card.expire anc_id.cardname } end |
#finalize_action? ⇒ Boolean
68 69 70 |
# File 'platypus/tmp/set/gem-defaults/mod015-history/all/history/events.rb', line 68 def finalize_action? actionable? && current_action end |