class Card::Set::Pattern::Base
class from which set patterns inherit
Public Class Methods
Source
# File lib/card/set/pattern/base.rb, line 9 def initialize card return if anchorless? @anchor_name = self.class.anchor_name(card).to_name @anchor_id = find_anchor_id card end
Public Instance Methods
Source
# File lib/card/set/pattern/base.rb, line 39 def anchor_codenames anchor_parts.map do |part| part.cardname&.codename || break end end
Source
# File lib/card/set/pattern/base.rb, line 49 def anchor_parts return [@anchor_name] unless anchor_parts_count > 1 parts = @anchor_name.parts if parts.size <= anchor_parts_count parts else # handles cases where anchor is a compound card, eg A+B+*self [@anchor_name[0..-anchor_parts_count]] + parts[(-anchor_parts_count + 1)..] end end
Source
# File lib/card/set/pattern/base.rb, line 45 def anchor_parts_count @anchor_parts_count ||= self.class.anchor_parts_count @anchor_name end
Source
# File lib/card/set/pattern/base.rb, line 16 def find_anchor_id card self.class.try(:anchor_id, card) || @anchor_name.card_id end
Source
# File lib/card/set/pattern/base.rb, line 34 def format_module_list klass hash = Card::Set.modules[:nonbase_format][klass] hash && lookup_module_list(hash) end
Source
# File lib/card/set/pattern/base.rb, line 65 def inspect "<#{self.class} #{to_s.to_name.inspect}>" end
Source
# File lib/card/set/pattern/base.rb, line 26 def lookup_module_list modules_hash module_key && modules_hash[module_key] end
Source
# File lib/card/set/pattern/base.rb, line 20 def module_key return @module_key if defined? @module_key @module_key = self.class.module_key anchor_codenames end
Source
# File lib/card/set/pattern/base.rb, line 30 def module_list lookup_module_list Card::Set.modules[:nonbase] end
Source
# File lib/card/set/pattern/base.rb, line 74 def rule_lookup_key if anchorless? pattern_code.to_s elsif @anchor_id "#{@anchor_id}+#{pattern_code}" end end
Source
# File lib/card/set/pattern/base.rb, line 69 def safe_key caps_part = pattern_code.to_s.tr(" ", "_").upcase anchorless? ? caps_part : "#{caps_part}-#{@anchor_name.safe_key}" end
Source
# File lib/card/set/pattern/base.rb, line 61 def to_s anchorless? ? pattern.s : "#{@anchor_name}+#{pattern}" end