Sha256: 0d38ae379fcd56b8dbc1d4d419470b7957935ee62ad6f526ce7d4a31f32989ca
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
def field tag, opts={} Card.fetch cardname.field(tag), opts end def subcard card_name subcards.card card_name end def subfield field_name subcards.field field_name end # phase_method :add_subcard, before: :store do |name_or_card, args=nil| # TODO: handle differently in different stages def add_subcard name_or_card, args=nil subcards.add name_or_card, args end # phase_method :add_subfield, before: :approve do |name_or_card, args=nil| def add_subfield name_or_card, args=nil subcards.add_field name_or_card, args end def detach_subcard name_or_card subcards.remove name_or_card end alias_method :remove_subcard, :detach_subcard def detach_subfield name_or_card subcards.remove_field name_or_card end alias_method :remove_subfield, :detach_subfield def clear_subcards subcards.clear end def deep_clear_subcards subcards.deep_clear end def unfilled? (content.empty? || content.strip.empty?) && (comment.blank? || comment.strip.blank?) && !subcards.present? end event :handle_subcard_errors do subcards.each do |subcard| subcard.errors.each do |field, err| err = "#{field} #{err}" unless [:content, :abort].member? field errors.add subcard.relative_name.s, err end end end event :reject_empty_subcards, :prepare_to_validate do subcards.each_with_key do |subcard, key| if subcard.new? && subcard.unfilled? remove_subcard(key) director.subdirectors.delete(subcard) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
card-1.18.6 | mod/01_core/set/all/subcards.rb |
card-1.18.5 | mod/01_core/set/all/subcards.rb |