class Qtc::Eds::Collection

Public Class Methods

new(client, path) click to toggle source

Initialize EDS collection

@param [Qtc::Client] client @param [String] path

# File lib/qtc/eds/collection.rb, line 10
def initialize(client, path)
  @client = client
  @path = path
end

Public Instance Methods

add_permissions(id, permissions) click to toggle source

Add permissions

@param [String] id @param [Hash] permissions @return [Hash]

# File lib/qtc/eds/collection.rb, line 92
def add_permissions(id, permissions)
  client.put("#{path}/#{id}/access", permissions)
end
atomic_operation(id, operation) click to toggle source

Atomic operation

@param [String] id @param [Hash] operation @return [Hash]

# File lib/qtc/eds/collection.rb, line 40
def atomic_operation(id, operation)
  client.put("#{path}/#{id}/atomic", operation)
end
find(params = {}) click to toggle source

Find objects

@param [Hash] params @return [Array<Hash>]

# File lib/qtc/eds/collection.rb, line 67
def find(params = {})
  if params[:q] && params[:q].is_a?(Hash)
    params[:q] = params[:q].to_json
  end
  if params[:sort] && !params[:sort].is_a?(String)
    params[:sort] = params[:sort].to_json
  end
  response = client.get("#{path}", params)
  response['results']
end
find_one(id) click to toggle source

Find object by id

@param [String] id @return [Hash]

# File lib/qtc/eds/collection.rb, line 58
def find_one(id)
  client.get("#{path}/#{id}")
end
insert(object) click to toggle source

Insert a new object

@param [Hash] object @return [Hash]

# File lib/qtc/eds/collection.rb, line 20
def insert(object)
  client.post(path, object)
end
remove(id) click to toggle source

Remove object

@param [String] @return [Hash]

# File lib/qtc/eds/collection.rb, line 49
def remove(id)
  client.delete("#{path}/#{id}")
end
remove_permissions(id, permissions) click to toggle source

Remove permissions

@param [String] id @param [Hash] permissions @return [Hash]

# File lib/qtc/eds/collection.rb, line 102
def remove_permissions(id, permissions)
  client.delete("#{path}/#{id}/access", permissions)
end
set_permissions(id, permissions) click to toggle source

Set object permissions

@param [String]

# File lib/qtc/eds/collection.rb, line 82
def set_permissions(id, permissions)
  client.post("#{path}/#{id}/access", permissions)
end
update(id, object) click to toggle source

Update object

@param [String] id @param [Hash] object @return [Hash]

# File lib/qtc/eds/collection.rb, line 30
def update(id, object)
  client.put("#{path}/#{id}", object)
end

Protected Instance Methods

client() click to toggle source

Get client

@return [Qtc::Client]

# File lib/qtc/eds/collection.rb, line 112
def client
  @client
end
path() click to toggle source

Get path

@return [String]

# File lib/qtc/eds/collection.rb, line 120
def path
  @path
end