Class: KintoBox::KintoCollection

Inherits:
KintoObject show all
Defined in:
lib/kinto_box/kinto_collection.rb

Instance Attribute Summary collapse

Attributes inherited from KintoObject

#id, #url_path

Instance Method Summary collapse

Methods inherited from KintoObject

#add_permission, #count_children_request, #create_child_request, #delete, #delete_children_request, #delete_request, #exists?, #info, #info_request, #list_children_request, #permissions, #replace_permission, #update, #update_request

Constructor Details

#initialize(bucket, collection_id) ⇒ KintoCollection

Returns a new instance of KintoCollection.

Raises:

  • (ArgumentError)


11
12
13
14
15
16
17
18
# File 'lib/kinto_box/kinto_collection.rb', line 11

def initialize (bucket, collection_id)
  raise ArgumentError if bucket.nil? || collection_id.nil?
  @kinto_client = bucket.kinto_client
  @bucket = bucket
  @id = collection_id
  @url_path = "/buckets/#{bucket.id}/collections/#{@id}"
  @child_path = '/records'
end

Instance Attribute Details

#bucketObject (readonly)

Returns the value of attribute bucket.



9
10
11
# File 'lib/kinto_box/kinto_collection.rb', line 9

def bucket
  @bucket
end

Instance Method Details

#count_records(filters = nil) ⇒ Object



42
43
44
# File 'lib/kinto_box/kinto_collection.rb', line 42

def count_records(filters = nil)
  @kinto_client.head(url_w_qsp(filters))['Total-Records'].to_i
end

#create_record(data) ⇒ Object



30
31
32
33
34
# File 'lib/kinto_box/kinto_collection.rb', line 30

def create_record(data)
  resp = @kinto_client.post("#{@url_path}#{@child_path}", { 'data' => data})
  record_id = resp['data']['id']
  record(record_id)
end

#delete_records(filters = nil) ⇒ Object



37
38
39
# File 'lib/kinto_box/kinto_collection.rb', line 37

def delete_records(filters = nil)
  @kinto_client.delete(url_w_qsp(filters))
end

#list_records(filters = nil, sort = nil) ⇒ Object



25
26
27
# File 'lib/kinto_box/kinto_collection.rb', line 25

def list_records(filters = nil, sort = nil)
  @kinto_client.get(url_w_qsp(filters, sort))
end

#record(record_id) ⇒ Object



20
21
22
# File 'lib/kinto_box/kinto_collection.rb', line 20

def record (record_id)
  KintoRecord.new(self, record_id)
end