Sha256: 08fb3d47e518894f02b4c44a2aaf6d0874d73ead8360a77ea00837c4702932ca
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require 'restful/serializers/base' # # AR params hash. # module Restful module Serializers class HashSerializer < Base serializer_name :hash def serialize(resource, options = {}) params = {} resource.values.each do |value| if value.type == :collection # serialize the stuffs resources = value.value next if resources.empty? name = resources.first.name.pluralize array = [] resources.each do |r| array << serialize(r) end params[hashify_key(value.name)] = array elsif value.type == :link params[hashify_key(value.name)] = Restful::Rails.tools.dereference(value.value) elsif value.type == :resource params[hashify_key(value.name)] = serialize(value) else # plain ole params[hashify_key(value.name)] = formatted_value(value) end end params["restful_url"] = resource.full_url params end private def hashify_key(original_key) original_key.to_s.tr("-", "_").to_sym end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
purzelrakete-restful-0.2.2 | lib/restful/serializers/hash_serializer.rb |