Class: CassandraObject::AttributeMethods::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/cassandra_object/attribute_methods/definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, coder, options) ⇒ Definition

Returns a new instance of Definition.



5
6
7
8
# File 'lib/cassandra_object/attribute_methods/definition.rb', line 5

def initialize(name, coder, options)
  @name   = name.to_s
  @coder  = coder.new(options)
end

Instance Attribute Details

#coderObject (readonly)

Returns the value of attribute coder.



4
5
6
# File 'lib/cassandra_object/attribute_methods/definition.rb', line 4

def coder
  @coder
end

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/cassandra_object/attribute_methods/definition.rb', line 4

def name
  @name
end

Instance Method Details

#defaultObject



10
11
12
# File 'lib/cassandra_object/attribute_methods/definition.rb', line 10

def default
  coder.default
end

#instantiate(record, value) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/cassandra_object/attribute_methods/definition.rb', line 14

def instantiate(record, value)
  value = value.nil? ? coder.default : value
  return if value.nil?

  value = value.kind_of?(String) ? coder.decode(value) : value
  coder.wrap(record, name, value)
end