Module: Card::Subcards::All
- Included in:
- Card
- Defined in:
- lib/card/subcards/all.rb
Overview
subcard-related Card instance methods
Instance Method Summary collapse
- #drop_subcard(name_or_card) ⇒ Object
- #drop_subfield(name_or_card) ⇒ Object
- #field?(tag) ⇒ Boolean
- #handle_subcard_errors ⇒ Object
- #subcard(card_name, args = {}) ⇒ Object
- #subcard?(card_name) ⇒ Boolean
- #subcard_content(card_name) ⇒ Object
- #subcards ⇒ Object
- #subcards? ⇒ Boolean
- #subfield(field_name, args = {}) ⇒ Object
- #subfield?(field_name) ⇒ Boolean
- #subfield_content(field_name) ⇒ Object
Instance Method Details
#drop_subcard(name_or_card) ⇒ Object
51 52 53 |
# File 'lib/card/subcards/all.rb', line 51 def drop_subcard name_or_card subcards.remove name_or_card end |
#drop_subfield(name_or_card) ⇒ Object
55 56 57 |
# File 'lib/card/subcards/all.rb', line 55 def drop_subfield name_or_card subcards.remove_field name_or_card end |
#field?(tag) ⇒ Boolean
47 48 49 |
# File 'lib/card/subcards/all.rb', line 47 def field? tag field(tag) || subfield?(tag) end |
#handle_subcard_errors ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/card/subcards/all.rb', line 59 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 = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/card/subcards/all.rb', line 13 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) ⇒ Boolean
26 27 28 |
# File 'lib/card/subcards/all.rb', line 26 def subcard? card_name subcards.card(card_name).present? end |
#subcard_content(card_name) ⇒ Object
22 23 24 |
# File 'lib/card/subcards/all.rb', line 22 def subcard_content card_name subcards.card(card_name)&.content end |
#subcards ⇒ Object
5 6 7 |
# File 'lib/card/subcards/all.rb', line 5 def subcards @subcards ||= Card::Subcards.new self end |
#subcards? ⇒ Boolean
9 10 11 |
# File 'lib/card/subcards/all.rb', line 9 def subcards? subcards.present? end |
#subfield(field_name, args = {}) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/card/subcards/all.rb', line 30 def subfield field_name, args={} if (sf = subcards.field field_name) sf.assign_attributes args sf else subcards.add_field field_name, args end end |
#subfield?(field_name) ⇒ Boolean
43 44 45 |
# File 'lib/card/subcards/all.rb', line 43 def subfield? field_name subcards.field(field_name).present? end |
#subfield_content(field_name) ⇒ Object
39 40 41 |
# File 'lib/card/subcards/all.rb', line 39 def subfield_content field_name subcards.field(field_name)&.content end |