Sha256: 4d3e4ebc310a5f114019c042214c5e783c8a1226e5a74670874e8233c6ac4a79

Contents?: true

Size: 862 Bytes

Versions: 2

Compression:

Stored size: 862 Bytes

Contents

class Card
  module Rule
    class ReadRuleCache < Cache
      self.sql = %(
        SELECT
          refs.referee_id AS party_id,
          read_rules.id   AS read_rule_id
        FROM cards read_rules
        JOIN card_references refs ON refs.referer_id    = read_rules.id
        JOIN cards sets           ON read_rules.left_id = sets.id
        WHERE read_rules.right_id = #{ReadID}
          AND       sets.type_id  = #{SetID}
          AND read_rules.trash is false
          AND       sets.trash is false;
      ).freeze

      self.cache_key = "READRULES".freeze

      class << self
        private

        def lookup_hash
          rows.each_with_object({}) do |row, h|
            party_id = row["party_id"].to_i
            h[party_id] ||= []
            h[party_id] << row["read_rule_id"].to_i
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
card-1.108.1 lib/card/rule/read_rule_cache.rb
card-1.108.0 lib/card/rule/read_rule_cache.rb