module RedisHash::Enumerators

Public Instance Methods

delete_if() { |field, value| ... } click to toggle source
# File lib/redis_hash/concerns/enumerators.rb, line 12
def delete_if
  return enum_for(__method__) unless block_given?

  each { |field, value| delete(field) if yield(field, value) }

  to_h
end
keep_if() { |field, value| ... } click to toggle source
# File lib/redis_hash/concerns/enumerators.rb, line 20
def keep_if
  return enum_for(__method__) unless block_given?

  delete_if { |field, value| !yield(field, value) }
end
reject!(&block) click to toggle source
# File lib/redis_hash/concerns/enumerators.rb, line 26
def reject!(&block)
  return enum_for(__method__) unless block_given?

  original = to_h
  delete_if(&block)
  current = to_h

  (original == current) ? nil : current
end
select!() { |*arguments| ... } click to toggle source
# File lib/redis_hash/concerns/enumerators.rb, line 36
def select!
  return enum_for(__method__) unless block_given?

  reject! { |*arguments| !yield(*arguments) }
end
transform_values!() { |value| ... } click to toggle source
# File lib/redis_hash/concerns/enumerators.rb, line 42
def transform_values!
  return enum_for(__method__) unless block_given?

  each { |field, value| store(field, yield(value)) }

  to_h
end