Class: KintoBox::KintoObject

Inherits:
Object
  • Object
show all
Defined in:
lib/kinto_box/kinto_object.rb

Direct Known Subclasses

KintoBucket, KintoCollection, KintoGroup, KintoRecord

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#idObject

Returns the value of attribute id.



4
5
6
# File 'lib/kinto_box/kinto_object.rb', line 4

def id
  @id
end

#url_pathObject (readonly)

Returns the value of attribute url_path.



5
6
7
# File 'lib/kinto_box/kinto_object.rb', line 5

def url_path
  @url_path
end

Instance Method Details

#add_permission(principal, permission) ⇒ Object



56
57
58
59
# File 'lib/kinto_box/kinto_object.rb', line 56

def add_permission(principal, permission)
  @kinto_client.patch(@url_path, {'permissions' => { permission => [principal_name(principal)] }})
  self
end

#count_children_request(filters = nil) ⇒ Object



52
53
54
# File 'lib/kinto_box/kinto_object.rb', line 52

def count_children_request(filters = nil)
  KintoRequest.new('HEAD',  url_w_qsp(filters))
end

#create_child_request(data) ⇒ Object



40
41
42
# File 'lib/kinto_box/kinto_object.rb', line 40

def create_child_request(data)
  KintoRequest.new('POST', url_w_qsp, { 'data' => data})
end

#deleteObject



11
12
13
# File 'lib/kinto_box/kinto_object.rb', line 11

def delete
  @kinto_client.delete(@url_path)
end

#delete_children_request(filters = nil) ⇒ Object



48
49
50
# File 'lib/kinto_box/kinto_object.rb', line 48

def delete_children_request(filters = nil)
  KintoRequest.new('DELETE', url_w_qsp(filters))
end

#delete_requestObject



36
37
38
# File 'lib/kinto_box/kinto_object.rb', line 36

def delete_request
  KintoRequest.new('DELETE', @url_path)
end

#exists?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
# File 'lib/kinto_box/kinto_object.rb', line 19

def exists?
  begin
    info
  rescue
    return false
  end
  true
end

#infoObject



7
8
9
# File 'lib/kinto_box/kinto_object.rb', line 7

def info
  @kinto_client.get(@url_path)
end

#info_requestObject



28
29
30
# File 'lib/kinto_box/kinto_object.rb', line 28

def info_request
  KintoRequest.new('GET', @url_path)
end

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



44
45
46
# File 'lib/kinto_box/kinto_object.rb', line 44

def list_children_request(filters = nil, sort = nil)
  KintoRequest.new('GET', url_w_qsp(filters, sort))
end

#permissionsObject



66
67
68
# File 'lib/kinto_box/kinto_object.rb', line 66

def permissions
  info['permissions']
end

#replace_permission(principal, permission) ⇒ Object



61
62
63
64
# File 'lib/kinto_box/kinto_object.rb', line 61

def replace_permission(principal, permission)
  @kinto_client.put(@url_path, {'permissions' => { permission => [principal_name(principal)] }})
  self
end

#update(data) ⇒ Object



15
16
17
# File 'lib/kinto_box/kinto_object.rb', line 15

def update(data)
  @kinto_client.patch(@url_path, {'data' => data})
end

#update_request(data) ⇒ Object



32
33
34
# File 'lib/kinto_box/kinto_object.rb', line 32

def update_request(data)
  KintoRequest.new('PATCH', @url_path, {'data' => data})
end