# File lib/chef/couchdb.rb, line 103
    def store(obj_type, name, object)
      validate(
        {
          :obj_type => obj_type,
          :name => name,
          :object => object,
        },
        {
          :object => { :respond_to => :to_json },
        }
      )
      rows = get_view("id_map", "name_to_id", :key => [ obj_type, name ])["rows"]
      uuid = rows.empty? ? UUIDTools::UUID.random_create.to_s : rows.first.fetch("id")
     
      db_put_response = @rest.put_rest("#{couchdb_database}/#{uuid}", object)

      if object.respond_to?(:add_to_index)
        Chef::Log.info("Sending #{obj_type}(#{uuid}) to the index queue for addition.")
        object.add_to_index(:database => couchdb_database, :id => uuid, :type => obj_type)
      end
      
      db_put_response
    end