This repository has been archived on 2024-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
ace-of-base/lib/ace_of_base/query/eq.rb

21 lines
442 B
Ruby

# frozen_string_literal: true
module AceOfBase
class Query
# A query filter which matches when all specified keys meet the specified
# values.
class Eq < Operator
def initialize(filters = {})
ensure_valid_fields!(filters.keys)
@filters = filters
end
def match?(record)
filters.all? do |(key, value)|
record.public_send(key) == value
end
end
end
end
end