lib/restful/serializers/params_serializer.rb in purzelrakete-restful-0.2.1 vs lib/restful/serializers/params_serializer.rb in purzelrakete-restful-0.2.2

- old
+ new

@@ -10,31 +10,37 @@ serializer_name :params 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 |resource| array << serialize(resource) end - params["#{value.name.to_sym}_attributes".to_sym] = array + params["#{paramify_keys(value.name)}_attributes".to_sym] = array elsif value.type == :link - params[value.name] = Restful::Rails.tools.dereference(value.value) + params[paramify_keys(value.name).to_sym] = Restful::Rails.tools.dereference(value.value) elsif value.type == :resource - params["#{value.name.to_sym}_attributes".to_sym] = serialize(value) + params["#{paramify_keys(value.name)}_attributes".to_sym] = serialize(value) else # plain ole - params[value.name] = value.value + params[paramify_keys(value.name).to_sym] = value.value # no need to format dates etc - just pass objects through. end end params end - end + + private + + def paramify_keys(original_key) + original_key.to_s.tr("-", "_") + end + end end end