module Card::Action::Admin
methods for administering card actions
Public Instance Methods
delete_cardless()
click to toggle source
permanently delete all {Action actions} not associated with a {Card}
# File 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_old()
click to toggle source
permanently delete all {Action actions} associate with non-current {Change changes}
# File lib/card/action/admin.rb, line 13 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)
click to toggle source
If an act is given then all remaining actions will be attached to that act. Otherwise the actions keep their acts.
# File lib/card/action/admin.rb, line 21 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