module Card::Name::NameVariants
Public Instance Methods
alternative()
click to toggle source
# File lib/card/name/name_variants.rb, line 44 def alternative Card.generate_alternative_name self end
card()
click to toggle source
# File lib/card/name/name_variants.rb, line 27 def card Card.fetch self, new: {} end
card_id()
click to toggle source
# File lib/card/name/name_variants.rb, line 31 def card_id Lexicon.id self end
codename()
click to toggle source
@return [Symbol] codename of card with name
# File lib/card/name/name_variants.rb, line 36 def codename Codename[card_id] end
codename_or_string()
click to toggle source
# File lib/card/name/name_variants.rb, line 40 def codename_or_string codename || s end
standard()
click to toggle source
@return [Card::Name] standardized based on card names
# File lib/card/name/name_variants.rb, line 17 def standard if simple? id = Lexicon.id self std = Lexicon.name id std.present? ? std : self else self.class.compose(parts.map { |part| part.cardname.standard }) end end
vary(variants)
click to toggle source
# File lib/card/name/name_variants.rb, line 9 def vary variants variants.to_s.split(/[\s,]+/).inject(s) do |name, variant| variant = @@variant_aliases[variant.to_sym] || variant.to_sym @@variant_methods.include?(variant) ? name.send(variant) : name end end