class Representable::Serializer
serialize -> serialize! -> marshal. # TODO: same flow in deserialize.
Public Instance Methods
call(object, &block)
click to toggle source
# File lib/representable/serializer.rb, line 6 def call(object, &block) return object if object.nil? # DISCUSS: move to Object#serialize ? serialize(object, @binding.user_options, &block) end
Private Instance Methods
marshal(object, user_options)
click to toggle source
0.33 0.004 0.004 0.000 0.000 20001 Hash#merge! 0.00 0.000 0.000 0.000 0.000 1 Hash#merge!
# File lib/representable/serializer.rb, line 32 def marshal(object, user_options) object.send(@binding.serialize_method, user_options) end
serialize(object, user_options) { || ... }
click to toggle source
# File lib/representable/serializer.rb, line 13 def serialize(object, user_options, &block) return yield if @binding.evaluate_option(:skip_render, object) # this will jump out of #render_fragment. introduce Skip object here. serialize!(object, user_options) end
serialize!(object, user_options)
click to toggle source
Serialize one object by calling to_json etc. on it.
# File lib/representable/serializer.rb, line 20 def serialize!(object, user_options) object = prepare(object) return object unless @binding.representable? @binding.evaluate_option(:serialize, object) do marshal(object, user_options) end end