Class: Card::Name
Instance Method Summary collapse
- #code ⇒ Object
- #is_a_field_of?(context_name) ⇒ Boolean
- #rstar? ⇒ Boolean
- #star? ⇒ Boolean
- #trait(tag_code) ⇒ Object
- #trait_name(tag_code) ⇒ Object
- #trait_name?(*traitlist) ⇒ Boolean
Instance Method Details
#code ⇒ Object
41 42 43 |
# File 'lib/card/name.rb', line 41 def code Card::Codename[ Card.fetch_id self ] end |
#is_a_field_of?(context_name) ⇒ Boolean
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/card/name.rb', line 46 def is_a_field_of? context_name if context_name.present? # Do I still equal myself after I've been relativised in the context of context_name? relative_name = self.to_show(*context_name.to_name.parts).to_name absolute_name = self.to_absolute_name(context_name) relative_name.key != absolute_name.key else self.s.match /^\s*\+/ end end |
#rstar? ⇒ Boolean
17 18 19 |
# File 'lib/card/name.rb', line 17 def rstar? right and '*' == right[0,1] end |
#star? ⇒ Boolean
13 14 15 |
# File 'lib/card/name.rb', line 13 def star? simple? and '*' == s[0,1] end |
#trait(tag_code) ⇒ Object
36 37 38 39 |
# File 'lib/card/name.rb', line 36 def trait tag_code name = trait_name( tag_code ) name ? name.s : ( raise Card::NotFound, "unknown codename: #{tag_code}" ) end |
#trait_name(tag_code) ⇒ Object
31 32 33 34 |
# File 'lib/card/name.rb', line 31 def trait_name tag_code card_id = Card::Codename[ tag_code ] and card = Card.fetch( card_id, :skip_modules=>true, :skip_virtual=>true ) and [ self, card.cardname ].to_name end |
#trait_name?(*traitlist) ⇒ Boolean
21 22 23 24 25 26 27 28 29 |
# File 'lib/card/name.rb', line 21 def trait_name? *traitlist junction? && begin right_key = right_name.key !!traitlist.find do |codename| card_id = Card::Codename[ codename ] and card = Card.fetch( card_id, :skip_modules=>true, :skip_virtual=>true ) and card.key == right_key end end end |