Class: Zena::Acts::Serializable::IdAttribute

Inherits:
ActiveRecord::XmlSerializer::Attribute
  • Object
show all
Defined in:
lib/zena/acts/serializable.rb

Overview

PropertyAttribute

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, record, value) ⇒ IdAttribute

Returns a new instance of IdAttribute.



37
38
39
40
# File 'lib/zena/acts/serializable.rb', line 37

def initialize(name, record, value)
  @raw_value  = value.kind_of?(Array) ? value.join(',') : value
  super(name, record)
end

Instance Attribute Details

#raw_valueObject

Returns the value of attribute raw_value.



35
36
37
# File 'lib/zena/acts/serializable.rb', line 35

def raw_value
  @raw_value
end

Instance Method Details

#compute_typeObject



52
53
54
# File 'lib/zena/acts/serializable.rb', line 52

def compute_type
  Hash::XML_TYPE_NAMES[raw_value.class.name] || :string
end

#compute_valueObject



42
43
44
45
46
47
48
49
50
# File 'lib/zena/acts/serializable.rb', line 42

def compute_value
  value = raw_value

  if formatter = Hash::XML_FORMATTING[type.to_s]
    value ? formatter.call(value) : nil
  else
    value
  end
end