Module: Serializable::InstanceMethods
- Defined in:
- lib/acts_as_serializable.rb
Overview
This module contains instance methods
Instance Method Summary collapse
- #serialize(builder, options = {}) ⇒ Object
- #serialize_for(builder, options = {}) ⇒ Object
- #to_hash(options = {}) ⇒ Object
- #to_json(options = {}) ⇒ Object
- #to_xml(options = {}) ⇒ Object
Instance Method Details
#serialize(builder, options = {}) ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/acts_as_serializable.rb', line 108 def serialize(builder, = {}) if version_number = [:version] if version = self.class.serialization_versions.find_version(Version.new(version_number)) return self.send("serialize_to_version_#{version.to_s_underscored}", builder, ) else raise "Version #{version_number} given but no serialization method found" end else if version = self.class.default_serialization_version return self.send("serialize_to_version_#{version.to_s_underscored}", builder, ) else raise "No serialization method found" end end end |
#serialize_for(builder, options = {}) ⇒ Object
124 125 126 |
# File 'lib/acts_as_serializable.rb', line 124 def serialize_for(builder, = {}) self.send(builder.serialization_method!, ) end |
#to_hash(options = {}) ⇒ Object
96 97 98 |
# File 'lib/acts_as_serializable.rb', line 96 def to_hash( = {}) serialize(Builder::HashStructure.new, ) end |
#to_json(options = {}) ⇒ Object
100 101 102 |
# File 'lib/acts_as_serializable.rb', line 100 def to_json( = {}) serialize(Builder::JsonFormat.new, ) end |