Class: Card::SubdirectorArray

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent) ⇒ SubdirectorArray

Returns a new instance of SubdirectorArray.



11
12
13
14
# File 'lib/card/subdirector_array.rb', line 11

def initialize parent
  @parent = parent
  super()
end

Class Method Details

.initialize_with_subcards(parent) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/card/subdirector_array.rb', line 3

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



16
17
18
19
20
21
22
23
24
25
# File 'lib/card/subdirector_array.rb', line 16

def add card
  each do |dir|
    return dir if dir.card == card
  end
  dir = Card::DirectorRegister.fetch card, parent: @parent
  dir.main = false
  dir.parent = @parent
  self << dir
  dir
end

#delete(card) ⇒ Object



27
28
29
# File 'lib/card/subdirector_array.rb', line 27

def delete card
  delete_if { |dir| dir.card == card }
end