Sha256: b62ed55c3e35e05fce8b58c8f962c3bdf26b298e0562b409736855255c07e1b4

Contents?: true

Size: 1.17 KB

Versions: 35

Compression:

Stored size: 1.17 KB

Contents

class Card
  class Action
    # methods for administering card actions
    module Admin
      # permanently delete all {Action actions} not associated with a {Card}
      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

      # permanently delete all {Action actions} associate with non-current
      # {Change changes}
      def delete_old
        Card::Change.delete_all
        Card.find_each(&:delete_old_actions)
        Card::Act.delete_actionless
      end

      # If an act is given then all remaining actions will be attached to that act.
      # Otherwise the actions keep their acts.
      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
    end
  end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
card-mod-history-0.18.1 lib/card/action/admin.rb
card-mod-history-0.18.0 lib/card/action/admin.rb
card-mod-history-0.17.0 lib/card/action/admin.rb
card-mod-history-0.16.0 lib/card/action/admin.rb
card-mod-history-0.15.6 lib/card/action/admin.rb
card-mod-history-0.15.5 lib/card/action/admin.rb
card-mod-history-0.15.4 lib/card/action/admin.rb
card-mod-history-0.15.3 lib/card/action/admin.rb
card-mod-history-0.15.2.pre1 lib/card/action/admin.rb
card-mod-history-0.15.1.1 lib/card/action/admin.rb
card-mod-history-0.15.1 lib/card/action/admin.rb
card-mod-history-0.15.0 lib/card/action/admin.rb
card-mod-history-0.14.2 lib/card/action/admin.rb
card-mod-history-0.14.1 lib/card/action/admin.rb
card-mod-history-0.14.0 lib/card/action/admin.rb
card-mod-history-0.13.4 lib/card/action/admin.rb
card-mod-history-0.13.3 lib/card/action/admin.rb
card-mod-history-0.13.2 lib/card/action/admin.rb
card-mod-history-0.13.1 lib/card/action/admin.rb
card-mod-history-0.13.0 lib/card/action/admin.rb