Sha256: 942b5e459d3b6cdd456d56227ba52b086c60c3832181196778bfe8a95470fe2a

Contents?: true

Size: 785 Bytes

Versions: 10

Compression:

Stored size: 785 Bytes

Contents

module Nurego
  module APIOperations
    module Update
      def save
        values = serialize_params(self)

        if values.length > 0
          values.delete(:id)

          response, api_key = Nurego.request(:post, url, @api_key, values)
          refresh_from(response, api_key)
        end
        self
      end


      def serialize_params(obj)
        case obj
        when nil
          ''
        when NuregoObject
          unsaved_keys = obj.instance_variable_get(:@unsaved_values)
          obj_values = obj.instance_variable_get(:@values)
          update_hash = {}

          unsaved_keys.each do |k|
            update_hash[k] = serialize_params(obj_values[k])
          end

          update_hash
        else
          obj
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
nurego-1.1.12 lib/nurego/api_operations/update.rb
nurego-1.1.11 lib/nurego/api_operations/update.rb
nurego-1.0.10 lib/nurego/api_operations/update.rb
nurego-1.0.9 lib/nurego/api_operations/update.rb
nurego-1.0.8 lib/nurego/api_operations/update.rb
nurego-1.0.7 lib/nurego/api_operations/update.rb
nurego-1.0.6 lib/nurego/api_operations/update.rb
nurego-1.0.5 lib/nurego/api_operations/update.rb
nurego-1.0.4 lib/nurego/api_operations/update.rb
nurego-1.0.1 lib/nurego/api_operations/update.rb