module Card::Subcards::Remove
Methods for removing/clearing subcards
Public Instance Methods
clear()
click to toggle source
# File lib/card/subcards/remove.rb, line 19 def clear @keys.each { |key| clear_key key } @keys = ::Set.new end
clear_key(key)
click to toggle source
# File lib/card/subcards/remove.rb, line 24 def clear_key key if (subcard = fetch_subcard key) Director.deep_delete subcard.director subcard.current_action&.delete end Card.cache.temp.delete key subcard end
deep_clear(cleared=::Set.new)
click to toggle source
# File lib/card/subcards/remove.rb, line 33 def deep_clear cleared=::Set.new each_card do |card| next if cleared.include? card.id cleared << card.id card.subcards.deep_clear cleared end clear end
remove(name_or_card)
click to toggle source
# File lib/card/subcards/remove.rb, line 11 def remove name_or_card key = subcard_key name_or_card return unless @keys.include? key @keys.delete key clear_key key end
remove_child(cardish)
click to toggle source
# File lib/card/subcards/remove.rb, line 5 def remove_child cardish child = cardish.is_a?(Card) ? cardish : child(cardish) remove child end
Also aliased as: remove_field