Class: Aerospike::Key

Inherits:
Object
  • Object
show all
Defined in:
lib/aerospike/key.rb

Constant Summary collapse

@@digest_pool =
Pool.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ns, set, val, digest = nil) ⇒ Key

Returns a new instance of Key.



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/aerospike/key.rb', line 37

def initialize(ns, set, val, digest=nil)
  @namespace = ns
  @set_name = set
  @user_key = Value.of(val)

  unless digest
    compute_digest
  else
    @digest = digest
  end

  self
end

Instance Attribute Details

#digestObject (readonly)

Returns the value of attribute digest.



35
36
37
# File 'lib/aerospike/key.rb', line 35

def digest
  @digest
end

#namespaceObject (readonly)

Returns the value of attribute namespace.



35
36
37
# File 'lib/aerospike/key.rb', line 35

def namespace
  @namespace
end

#set_nameObject (readonly)

Returns the value of attribute set_name.



35
36
37
# File 'lib/aerospike/key.rb', line 35

def set_name
  @set_name
end

Instance Method Details

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



63
64
65
66
67
# File 'lib/aerospike/key.rb', line 63

def ==(other)
  other && other.is_a?(Key) &&
    other.digest == @digest &&
    other.namespace == @namespace
end

#hashObject



70
71
72
# File 'lib/aerospike/key.rb', line 70

def hash
  @digest.hash
end

#to_sObject



51
52
53
# File 'lib/aerospike/key.rb', line 51

def to_s
  "#{@namespace}:#{@set_name}:#{@user_key}:#{@digest.nil? ? '' : @digest.bytes}"
end

#user_keyObject



55
56
57
# File 'lib/aerospike/key.rb', line 55

def user_key
  @user_key.get if @user_key
end

#user_key_as_valueObject



59
60
61
# File 'lib/aerospike/key.rb', line 59

def user_key_as_value
  @user_key
end