Sha256: c723e0f21931f04afe47d8d9793bf16c8c0424cfaa89b07b162f2416e381e9a4
Contents?: true
Size: 1.73 KB
Versions: 7
Compression:
Stored size: 1.73 KB
Contents
# -*- encoding : utf-8 -*- MODULES={} module ClassMethods def method_key opts set_patterns.each do |pclass| if !pclass.opt_keys.map(&opts.method(:has_key?)).member? false; return pclass.method_key_from_opts(opts) end end end def find_set_pattern mark if mark class_key = if Card::Name === mark key_card = Card.fetch mark.to_name.tag_name, :skip_modules=>true key_card && key_card.codename else mark.to_s end set_patterns.find { |sub| sub.key == class_key } end end end def patterns @patterns ||= set_patterns.map { |sub| sub.new(self) }.compact end def patterns_with_new new_card? ? patterns_without_new[1..-1] : patterns_without_new end alias_method_chain :patterns, :new def reset_patterns @set_mods_loaded = @patterns = @set_modules = @junction_only = @method_keys = @set_names = @template = @rule_set_keys = @virtual = nil true end def reset_patterns_if_rule saving=false if !new_card? && is_rule? set = left set.reset_patterns set.include_set_modules #this is really messy. if saving self.add_to_read_rule_update_queue( set.item_cards :limit=>0 ) if right.id == Card::ReadID end end end def safe_set_keys patterns.map( &:safe_key ).reverse * " " end def set_modules @set_modules ||= patterns_without_new[0..-2].reverse.map(&:set_const).compact end def set_names if @set_names.nil? @set_names = patterns.map &:to_s Card.set_members @set_names, key end @set_names end def rule_set_keys set_names #this triggers set_members cache. need better solution! @rule_set_keys ||= patterns.map( &:rule_set_key ).compact end def method_keys @method_keys ||= patterns.map(&:get_method_key).compact end
Version data entries
7 entries across 7 versions & 1 rubygems