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