module RedisHash::Schema

Public Instance Methods

allow_keys(*keys) click to toggle source
# File lib/redis_hash/concerns/schema.rb, line 33
def allow_keys(*keys)
  _allowed_keys.push(*keys.flatten.map(&:to_sym))
end
assert_keys_allowed(*keys) click to toggle source
# File lib/redis_hash/concerns/schema.rb, line 15
def assert_keys_allowed(*keys)
  return true if _allowed_keys.empty?

  impermissible = keys.flatten.map(&:to_sym) - _allowed_keys
  return true if impermissible.empty?

  raise ArgumentError, "Impermissible #{"key".pluralize(impermissible.length)}: #{impermissible.join(", ")}"
end
inherited(base) click to toggle source
Calls superclass method
# File lib/redis_hash/concerns/schema.rb, line 26
def inherited(base)
  base._allowed_keys = _allowed_keys.dup
  super
end