Module: Card::Action::Admin
- Included in:
- Card::Action
- Defined in:
- mod/history/lib/card/action/admin.rb
Overview
methods for administering card actions
Instance Method Summary collapse
- #delete_cardless ⇒ Object
- #delete_changeless ⇒ Object
- #delete_old ⇒ Object
-
#make_current_state_the_initial_state(act = nil) ⇒ Object
If an act is given then all remaining actions will be attached to that act.
Instance Method Details
#delete_cardless ⇒ Object
6 7 8 9 |
# File 'mod/history/lib/card/action/admin.rb', line 6 def delete_cardless left_join = "LEFT JOIN cards ON card_actions.card_id = cards.id" joins(left_join).where("cards.id IS NULL").delete_all end |
#delete_changeless ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'mod/history/lib/card/action/admin.rb', line 13 def delete_changeless joins( "LEFT JOIN card_changes "\ "ON card_changes.card_action_id = card_actions.id" ).where( "card_changes.id IS NULL" ).delete_all end |
#delete_old ⇒ Object
24 25 26 27 28 |
# File 'mod/history/lib/card/action/admin.rb', line 24 def delete_old Card::Change.delete_all Card.find_each(&:delete_old_actions) Card::Act.delete_actionless end |
#make_current_state_the_initial_state(act = nil) ⇒ Object
If an act is given then all remaining actions will be attached to that act. Otherwise the actions keep their acts.
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'mod/history/lib/card/action/admin.rb', line 32 def make_current_state_the_initial_state act=nil Card::Change.delete_all Card.find_each(&:delete_old_actions) action_update = { action_type: Card::Action::TYPE_OPTIONS.index(:create) } action_update[:card_act_id] = act.id if act Card::Action.update_all action_update if act Card::Act.where("id != :id", id: act.id).delete_all else Card::Act.delete_actionless end end |