Class: Card::Director::SubdirectorArray

Inherits:
Array
  • Object
show all
Defined in:
lib/card/director/subdirector_array.rb

Overview

extends array with special methods for handling lists of card subdirectors

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent) ⇒ SubdirectorArray

Returns a new instance of SubdirectorArray.



13
14
15
16
# File 'lib/card/director/subdirector_array.rb', line 13

def initialize parent
  @parent = parent
  super()
end

Class Method Details

.initialize_with_subcards(parent) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/card/director/subdirector_array.rb', line 5

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

Instance Method Details

#add(card) ⇒ Object



18
19
20
21
# File 'lib/card/director/subdirector_array.rb', line 18

def add card
  card = card.card if card.is_a? Director
  existing(card) || fetch_new(card)
end

#delete(card) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/card/director/subdirector_array.rb', line 25

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

#delete_directorObject



23
# File 'lib/card/director/subdirector_array.rb', line 23

alias_method :delete_director, :delete