class KeySet

Constants

VERSION

Public Class Methods

all() click to toggle source
# File lib/key_set.rb, line 17
def self.all
  All.new
end
all_except_some(keys) click to toggle source
# File lib/key_set.rb, line 31
def self.all_except_some(keys)
  return all if keys.blank?

  AllExceptSome.new keys
end
default_logger() click to toggle source
# File lib/key_set.rb, line 12
def self.default_logger
  require 'logger'
  ::Logger.new($stdout)
end
logger() click to toggle source
# File lib/key_set.rb, line 8
def self.logger
  @logger ||= default_logger
end
none() click to toggle source
# File lib/key_set.rb, line 21
def self.none
  None.new
end
some(keys) click to toggle source
# File lib/key_set.rb, line 25
def self.some(keys)
  return none if keys.blank?

  Some.new keys
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/key_set.rb, line 75
def <=>(other)
  if self.class.class_sort_index == other.class.class_sort_index
    if respond_to? :keys_array
      keys_array <=> other.keys_array
    else
      0
    end
  else
    self.class.class_sort_index <=> other.class.class_sort_index
  end
end
==(other) click to toggle source
# File lib/key_set.rb, line 91
def ==(other)
  self.class == other.class && try(:keys_array) == other.try(:keys_array)
end
===(other) click to toggle source
# File lib/key_set.rb, line 87
def ===(other)
  self.class == other.class && try(:keys_array) === other.try(:keys_array) # rubocop:disable Style/CaseEquality
end
eql?(other) click to toggle source
# File lib/key_set.rb, line 95
def eql?(other)
  self.class == other.class && try(:keys_array) == other.try(:keys_array)
end
hash() click to toggle source

EQUALITY AND COMPARISON

# File lib/key_set.rb, line 67
def hash
  if respond_to? :keys
    [self.class.to_s, keys.map(&:hash)].hash
  else
    self.class.to_s.hash
  end
end
intersect(_other) click to toggle source

@param other [KeySet] @return [KeySet]

# File lib/key_set.rb, line 56
def intersect(_other)
  raise NotImplementedError
end
invert() click to toggle source

@return [KeySet]

# File lib/key_set.rb, line 61
def invert
  raise NotImplementedError
end
remove(_other) click to toggle source

:nocov: @param other [KeySet] @return [KeySet]

# File lib/key_set.rb, line 50
def remove(_other)
  raise NotImplementedError
end
represents_all?() click to toggle source

COMMON

# File lib/key_set.rb, line 39
def represents_all?
  false
end
represents_none?() click to toggle source
# File lib/key_set.rb, line 43
def represents_none?
  false
end