diff --git a/lib/plivo/base/resource.rb b/lib/plivo/base/resource.rb index db52a01..f903f98 100644 --- a/lib/plivo/base/resource.rb +++ b/lib/plivo/base/resource.rb @@ -56,29 +56,26 @@ def parse_and_set_response(resource_json) valid_param?(:resource_json, resource_json, Hash, true) + parsed_response = {} + resource_json.each do |k, v| if v.is_a?(Hash) - nested_object_name = k - instance_variable_set("@#{nested_object_name}", {}) v.each do |nested_k, nested_v| - instance_variable_set("@#{nested_object_name}_#{nested_k}", nested_v) - self.class.send(:attr_reader, "#{nested_object_name}_#{nested_k}") + parsed_response["#{k}_#{nested_k}".to_sym] = nested_v end else - instance_variable_set("@#{k}", v) - self.class.send(:attr_reader, k) + parsed_response[k.to_sym] = v end end - if @_identifier_string && resource_json.key?(@_identifier_string) - @id = resource_json[@_identifier_string] - end + parsed_response end + def perform_update(params, use_multipart_conn = false) unless @id raise_invalid_request("Cannot update a #{@_name} resource "\