Sha256: 7a4f26e1a30d37d67b9350cee11421ef534409063ef200f68242f149e625f773

Contents?: true

Size: 1.03 KB

Versions: 26

Compression:

Stored size: 1.03 KB

Contents

class Card
  class ActManager
    class SubdirectorArray < Array
      def self.initialize_with_subcards parent
        dir_array = new(parent)
        parent.card.subcards.each_card do |subcard|
          dir_array.add subcard
        end
        dir_array
      end

      def initialize parent
        @parent = parent
        super()
      end

      def add card, opts={}
        opts ||= {}
        card = card.card if card.is_a? StageDirector
        each { |dir| return dir if dir.card == card }
        dir = ActManager.fetch card, parent: @parent
        dir.replace_card card if dir.card != card
        dir.main = false
        dir.parent = @parent
        dir.transact_in_stage = opts[:transact_in_stage]
        self << dir
        dir
      end

      alias_method :delete_director, :delete

      def delete card
        if card.is_a? StageDirector
          delete_director card
        else
          delete_if { |dir| dir.card == card }
        end
      end

      def add_director dir
        add dir.card
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
card-1.99.5 lib/card/act_manager/subdirector_array.rb
card-1.99.4 lib/card/act_manager/subdirector_array.rb
card-1.99.3 lib/card/act_manager/subdirector_array.rb
card-1.99.2 lib/card/act_manager/subdirector_array.rb
card-1.99.1 lib/card/act_manager/subdirector_array.rb
card-1.99.0 lib/card/act_manager/subdirector_array.rb
card-1.98.3 lib/card/act_manager/subdirector_array.rb
card-1.98.2 lib/card/act_manager/subdirector_array.rb
card-1.98.1 lib/card/act_manager/subdirector_array.rb
card-1.98.0 lib/card/act_manager/subdirector_array.rb
card-1.97.0.1 lib/card/act_manager/subdirector_array.rb
card-1.97.0 lib/card/act_manager/subdirector_array.rb
card-1.96.8 lib/card/act_manager/subdirector_array.rb
card-1.96.7 lib/card/act_manager/subdirector_array.rb
card-1.96.6 lib/card/act_manager/subdirector_array.rb
card-1.96.5 lib/card/act_manager/subdirector_array.rb
card-1.96.4 lib/card/act_manager/subdirector_array.rb
card-1.96.3 lib/card/act_manager/subdirector_array.rb
card-1.96.2 lib/card/act_manager/subdirector_array.rb
card-1.96.1 lib/card/act_manager/subdirector_array.rb