class Card::Director::SubdirectorArray
Public Class Methods
initialize_with_subcards(parent)
click to toggle source
# File lib/card/director/subdirector_array.rb, line 4 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
new(parent)
click to toggle source
Calls superclass method
# File lib/card/director/subdirector_array.rb, line 12 def initialize parent @parent = parent super() end
Public Instance Methods
add(card)
click to toggle source
# File lib/card/director/subdirector_array.rb, line 17 def add card card = card.card if card.is_a? Director existing(card) || fetch_new(card) end
delete(card)
click to toggle source
# File lib/card/director/subdirector_array.rb, line 24 def delete card if card.is_a? Director delete_director card else delete_if { |dir| dir.card == card } end end
Also aliased as: delete_director
Private Instance Methods
existing(card)
click to toggle source
# File lib/card/director/subdirector_array.rb, line 34 def existing card find { |dir| dir.card == card } end
fetch_new(card)
click to toggle source
# File lib/card/director/subdirector_array.rb, line 38 def fetch_new card Director.fetch(card, @parent).tap do |dir| update dir, card unless dir.main? end end
update(dir, card)
click to toggle source
# File lib/card/director/subdirector_array.rb, line 44 def update dir, card dir.replace_card card if dir.card != card dir.parent = @parent self << dir end