Class: TypedCache::CacheKey

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/typed_cache/cache_key.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(namespace, key) ⇒ CacheKey

Returns a new instance of CacheKey.



14
15
16
17
# File 'lib/typed_cache/cache_key.rb', line 14

def initialize(namespace, key)
  @namespace = namespace
  @key = key
end

Instance Attribute Details

#keyObject (readonly)

: String



11
12
13
# File 'lib/typed_cache/cache_key.rb', line 11

def key
  @key
end

#namespaceObject (readonly)

: Namespace



10
11
12
# File 'lib/typed_cache/cache_key.rb', line 10

def namespace
  @namespace
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



42
43
44
# File 'lib/typed_cache/cache_key.rb', line 42

def ==(other)
  other.is_a?(self.class) && other.namespace == @namespace && other.key == @key
end

#belongs_to?(namespace) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/typed_cache/cache_key.rb', line 20

def belongs_to?(namespace)
  @namespace.to_s.start_with?(namespace.to_s)
end

#hashObject



37
38
39
# File 'lib/typed_cache/cache_key.rb', line 37

def hash
  [@namespace, @key].hash
end

#inspectObject



32
33
34
# File 'lib/typed_cache/cache_key.rb', line 32

def inspect
  "CacheKey(#{@namespace}:#{@key})"
end

#to_sObject Also known as: cache_key



25
26
27
# File 'lib/typed_cache/cache_key.rb', line 25

def to_s
  [@namespace.to_s, @key].join(delimiter)
end