class Devpad::API::Repository
Public Class Methods
all(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 4 def self.all(params = {}) @response = Devpad::API::Client.get("/accounts/#{Devpad::Account.current!}/repositories", params) @response['data'].map do |item| new(item['attributes'].merge('id' => item['id']).merge('user_name' => item.dig('relationships', 'user', 'data', 'attributes', 'name'))) end end
clone(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 17 def self.clone(params = {}) repository_id = params.delete :id @response = Devpad::API::Client.post("/accounts/#{Devpad::Account.current!}/repositories/#{repository_id}/clone", params) item = @response['data'] new(item['attributes'].merge('id' => item['id']).merge('user_name' => item.dig('relationships', 'user', 'data', 'attributes', 'name'))) end
close(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 24 def self.close(params = {}) repository_id = params.delete :id @response = Devpad::API::Client.post("/accounts/#{Devpad::Account.current!}/repositories/#{repository_id}/close", params) item = @response['data'] new(item['attributes'].merge('id' => item['id']).merge('user_name' => item.dig('relationships', 'user', 'data', 'attributes', 'name'))) end
create(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 11 def self.create(params = {}) @response = Devpad::API::Client.post("/accounts/#{Devpad::Account.current!}/repositories", params) item = @response['data'] new(item['attributes'].merge('id' => item['id']).merge('user_name' => item.dig('relationships', 'user', 'data', 'attributes', 'name'))) end
download(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 45 def self.download(params = {}) format = params.delete(:format) || 'zip' repository_id = params.delete(:id) path_to_save = params.delete(:to) Devpad::API::Client.download("/accounts/#{Devpad::Account.current!}/repositories/#{repository_id}/download.#{format}", path_to_save, params) end
protect(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 31 def self.protect(params = {}) repository_id = params.delete :id @response = Devpad::API::Client.put("/accounts/#{Devpad::Account.current!}/repositories/#{repository_id}/protect", params) item = @response['data'] new(item['attributes'].merge('id' => item['id']).merge('user_name' => item.dig('relationships', 'user', 'data', 'attributes', 'name'))) end
unprotect(params = {})
click to toggle source
# File lib/devpad/api/repository.rb, line 38 def self.unprotect(params = {}) repository_id = params.delete :id @response = Devpad::API::Client.delete("/accounts/#{Devpad::Account.current!}/repositories/#{repository_id}/protect", params) item = @response['data'] new(item['attributes'].merge('id' => item['id']).merge('user_name' => item.dig('relationships', 'user', 'data', 'attributes', 'name'))) end