Sha256: 37feb9f32e55922a4ea7d3594dda4071ab68d67bb369a1cb70b64e0de835112e

Contents?: true

Size: 1.11 KB

Versions: 14

Compression:

Stored size: 1.11 KB

Contents

class Card
  module Set
    class Pattern
      class << self
        def reset
          nonbase_loadables.each do |set_pattern|
            Card::Set.const_remove_if_defined set_pattern.to_s.split("::").last
          end
          Card.set_patterns = []
          @card_keys = nil
        end

        def loadables
          Card.set_patterns.push(Card::Set::Abstract).reverse
        end

        def nonbase_loadables
          l = loadables
          l.delete Card::Set::All
          l
        end

        def find pattern_code
          Card.set_patterns.find { |sub| sub.pattern_code == pattern_code }
        end

        def card_keys
          @card_keys ||=
            Card.set_patterns.each_with_object({}) do |set_pattern, hash|
              card_key = Card.quick_fetch(set_pattern.pattern_code).key
              hash[card_key] = true
            end
        end

        def nonbase_loadable_codes
          l = loadable_codes
          l.delete :all
          l
        end

        def loadable_codes
          Card.set_patterns.map(&:pattern_code).push(:abstract).reverse
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
card-1.101.7 lib/card/set/pattern.rb
card-1.101.6 lib/card/set/pattern.rb
card-1.101.5 lib/card/set/pattern.rb
card-1.101.4 lib/card/set/pattern.rb
card-1.101.3 lib/card/set/pattern.rb
card-1.101.2 lib/card/set/pattern.rb
card-1.101.1 lib/card/set/pattern.rb
card-1.101.0 lib/card/set/pattern.rb
card-1.100.0 lib/card/set/pattern.rb
card-1.99.6 lib/card/set/pattern.rb
card-1.99.5 lib/card/set/pattern.rb
card-1.99.4 lib/card/set/pattern.rb
card-1.99.3 lib/card/set/pattern.rb
card-1.99.2 lib/card/set/pattern.rb