module Redis::Props::Helper::ClassMethods

Attributes

redis_props[R]

Public Instance Methods

redis_prop_defined?(name) click to toggle source

当前类是否定义了某个 Redis Prop

@param [String/Symbol] name

@return [Boolean]

# File lib/redis/props/helper.rb, line 34
def redis_prop_defined?(name)
  redis_props.has_key?(name.to_sym)
end
redis_prop_redis_pool(name) click to toggle source

返回当前类定义的某个 Redis::Props 的 redis instance

@param [String] name

@return [ConnectionPool]

# File lib/redis/props/helper.rb, line 56
def redis_prop_redis_pool(name)
  pool_name = redis_props.dig(name.to_sym, :redis) || :default
  Redis::Props.pools[pool_name]
end
redis_prop_type(name) click to toggle source

返回当前类定义的某个 Redis Prop 的类型

@param [String] name

@return [Symbol]

# File lib/redis/props/helper.rb, line 45
def redis_prop_type(name)
  redis_props.dig(name.to_sym, :type)
end
register_redis_props(name, field_type, options = {}) click to toggle source

当定义一个 Redis::Props 的时候,将这个 Redis::Props 记录在 Class Variable `@redis_props` 中

@return [void]

# File lib/redis/props/helper.rb, line 19
def register_redis_props(name, field_type, options = {})
  if !Redis::Props::SUPPORTED_TYPES.include?(field_type.to_sym)
    raise Redis::Props::InvalidType.new("Redis::Props Type: #{field_type} invalid!")
  end

  @redis_props[name.to_sym] = options.symbolize_keys.merge(:type => field_type.to_sym)
end