Sha256: 5c10a051ab81f5935c6084590c8550ac09673fdc542437cd32ba6c30a469f556

Contents?: true

Size: 1.24 KB

Versions: 6

Compression:

Stored size: 1.24 KB

Contents

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
  @patterns = nil
  @template = @virtual = nil
  @set_mods_loaded = @set_modules = @set_names = @rule_set_keys = nil
  @junction_only = nil # only applies to set cards
  true
end

def reset_patterns_if_rule saving=false
  if !new_card? && is_rule?
    set = left
    set.reset_patterns
    set.include_set_modules

    # FIXME: should be in right/read.rb
    if saving && right.id == Card::ReadID
      add_to_read_rule_update_queue set.item_cards(limit: 0)
    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(&:module_list).flatten.compact
end

def set_format_modules klass
  @set_format_modules ||= {}
  @set_format_modules[klass] =
    patterns_without_new[0..-2].reverse.map do |pattern|
      pattern.format_module_list klass
    end.flatten.compact
end

def set_names
  @set_names = patterns.map(&:to_s) if @set_names.nil?
  @set_names
end

def rule_set_keys
  @rule_set_keys ||= patterns.map(&:rule_set_key).compact
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
card-1.18.6 mod/01_core/set/all/pattern.rb
card-1.18.5 mod/01_core/set/all/pattern.rb
card-1.18.4 mod/01_core/set/all/pattern.rb
card-1.18.3 mod/01_core/set/all/pattern.rb
card-1.18.2 mod/01_core/set/all/pattern.rb
card-1.18.1 mod/01_core/set/all/pattern.rb