module Card::Subcards::All
subcard-related Card
instance methods
Public Instance Methods
drop_field(name_or_card)
click to toggle source
# File lib/card/subcards/all.rb, line 53 def drop_field name_or_card subcards.remove_field name_or_card end
drop_subcard(name_or_card)
click to toggle source
# File lib/card/subcards/all.rb, line 49 def drop_subcard name_or_card subcards.remove name_or_card end
field(field_name, args={})
click to toggle source
# File lib/card/subcards/all.rb, line 32 def field field_name, args={} if (sf = subcards.field field_name) sf.assign_attributes args sf else subcards.add_field field_name, args end end
field?(tag)
click to toggle source
# File lib/card/subcards/all.rb, line 45 def field? tag fetch(tag) || subcards.field(tag).present? end
field_content(field_name)
click to toggle source
# File lib/card/subcards/all.rb, line 41 def field_content field_name subcards.field(field_name)&.content end
handle_subcard_errors()
click to toggle source
# File lib/card/subcards/all.rb, line 57 def handle_subcard_errors subcards.each do |subcard| subcard.errors.each do |error| subcard_error subcard, error end subcard.errors.clear end end
subcard(card_name, args={})
click to toggle source
# File lib/card/subcards/all.rb, line 15 def subcard card_name, args={} if (sc = subcards.card card_name) sc.assign_attributes args sc else subcards.add card_name, args end end
subcard?(card_name)
click to toggle source
# File lib/card/subcards/all.rb, line 28 def subcard? card_name subcards.card(card_name).present? end
subcard_content(card_name)
click to toggle source
# File lib/card/subcards/all.rb, line 24 def subcard_content card_name subcards.card(card_name)&.content end
subcards()
click to toggle source
# File lib/card/subcards/all.rb, line 7 def subcards @subcards ||= Card::Subcards.new self end
subcards?()
click to toggle source
# File lib/card/subcards/all.rb, line 11 def subcards? subcards.present? end
Private Instance Methods
subcard_error(subcard, error)
click to toggle source
# File lib/card/subcards/all.rb, line 68 def subcard_error subcard, error msg = error.message msg = "#{error.attribute} #{msg}" unless %i[content abort].member? error.attribute errors.add subcard.name.from(name), msg end