Sha256: 6c35f19966fdd0ce8b7478aae79bdbb0e8fb83d7cf6bf92707015cfb32edfbe7
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
class Card module Query class CardQuery # interpret CQL attributes that involve references from one card to another module ReferenceAttributes def self.define_reference_method methodname, reftype, ref_method, ref_field define_method methodname do |val| tie :reference, { ref_method => { reftype: reftype, card: val } }, to: ref_field end end { refer_to: %w[L I], link_to: "L", include: "I", nest: "I" }.each do |methodname, reftype| define_reference_method methodname, reftype, :referee, :referer_id end { referred_to_by: %w[L I], linked_to_by: "L", included_by: "I", nested_by: "I" }.each do |methodname, reftype| define_reference_method methodname, reftype, :referer, :referee_id end # shortcut methods for role references # DEPRECATE? def member_of val interpret right_plus: [Card::RolesID, { refer_to: val }] end def member val interpret referred_to_by: { left: val, right: Card::RolesID } end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
card-1.101.5 | lib/card/query/card_query/reference_attributes.rb |