Class: Pinata::GroupsResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/pinata/resources/groups.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Pinata::Resource

Instance Method Details

#add_file(group_id:, file_id:) ⇒ Object



22
23
24
# File 'lib/pinata/resources/groups.rb', line 22

def add_file(group_id:, file_id:)
  Group.new api_put_request("files/groups/#{group_id}/ids/#{file_id}").body["data"]
end

#create(name:, is_public: false) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/pinata/resources/groups.rb', line 5

def create(name:, is_public: false)
  payload = {
    name: name,
    is_public: is_public
  }
  Group.new api_post_request("files/groups", body: payload).body["data"]
end

#delete(group_id:) ⇒ Object



34
35
36
# File 'lib/pinata/resources/groups.rb', line 34

def delete(group_id:)
  Group.new api_delete_request("files/groups/#{group_id}").body.dig("data")
end

#get(group_id:) ⇒ Object



13
14
15
# File 'lib/pinata/resources/groups.rb', line 13

def get(group_id:)
  Group.new api_get_request("files/groups/#{group_id}").body.dig("data")
end

#list(**params) ⇒ Object



17
18
19
20
# File 'lib/pinata/resources/groups.rb', line 17

def list(**params)
  response = api_get_request("files/groups", params: params)
  Collection.from_response(response, key: "groups", type: Group)
end

#remove_file(group_id:, file_id:) ⇒ Object



26
27
28
# File 'lib/pinata/resources/groups.rb', line 26

def remove_file(group_id:, file_id:)
  Group.new api_delete_request("files/groups/#{group_id}/ids/#{file_id}").body["data"]
end

#update(group_id:, **attributes) ⇒ Object



30
31
32
# File 'lib/pinata/resources/groups.rb', line 30

def update(group_id:, **attributes)
  Group.new api_put_request("files/groups/#{group_id}", body: attributes).body["data"]
end