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