module Zen::Query::Attributes

Public Class Methods

included(target) click to toggle source
# File lib/zen/query/attributes.rb, line 31
def self.included(target)
  target.extend(ClassMethods)
end
new(**attrs) click to toggle source
# File lib/zen/query/attributes.rb, line 35
def initialize(**attrs)
  attributes = attrs.dup
  attributes.delete(:params)
  assert_valid_attributes!(attributes)
  @attributes = attributes
end

Private Instance Methods

assert_valid_attributes!(attrs) click to toggle source
# File lib/zen/query/attributes.rb, line 44
def assert_valid_attributes!(attrs)
  unknown_attrs = attrs.keys - self.class.attributes_list

  raise(ArgumentError, "Unknown attributes #{unknown_attrs.inspect}") if unknown_attrs.any?
end