Class: LabClient::Repositories

Inherits:
Common
  • Object
show all
Defined in:
lib/labclient/repository/blob.rb,
lib/labclient/repository/tree.rb,
lib/labclient/repository/alias.rb,
lib/labclient/repository/archive.rb,
lib/labclient/repository/compare.rb,
lib/labclient/repository/raw_blob.rb,
lib/labclient/repository/merge_base.rb,
lib/labclient/repository/contributors.rb

Overview

Specifics

Constant Summary

Constants included from AccessLevel

AccessLevel::HUMAN_ACCESS_LEVELS, AccessLevel::MACHINE_ACCESS_LEVELS

Instance Attribute Summary

Attributes inherited from Common

#client

Instance Method Summary collapse

Methods inherited from Common

#api_methods, #api_methods_help, #format_id, #format_query_id, #format_query_ids, #format_time?, #group_name, #help, #initialize, #inspect, #klass, #protected_query_access_level, #query_access_level, #query_format_time

Methods included from Docs

#demo, #desc, #doc, docs, #example, #group_name, #help, json, #markdown, #navigation, #option, #result, #subtitle, #title

Methods included from AccessLevel

#human_access_level, #human_protected_access_level, #machine_access_level, #machine_protected_access_level

Constructor Details

This class inherits a constructor from LabClient::Common

Instance Method Details

#archive(project_id, file_path = nil, format = '.tar.gz') ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/labclient/repository/archive.rb', line 25

def archive(project_id, file_path = nil, format = '.tar.gz')
  project_id = format_id(project_id)
  file_path ||= "#{Dir.pwd}/#{project_id}#{format}"

  output = client.request(:get, "projects/#{project_id}/repository/archive#{format}", nil)

  File.write(file_path, output)
end

#blob(project_id, sha) ⇒ Object



25
26
27
28
29
30
# File 'lib/labclient/repository/blob.rb', line 25

def blob(project_id, sha, raw = nil)
  project_id = format_id(project_id)

  raw = '/raw' if raw
  client.request(:get, "projects/#{project_id}/repository/blobs/#{sha}#{raw}", nil)
end

#compare(project_id, query) ⇒ Object



27
28
29
# File 'lib/labclient/repository/compare.rb', line 27

def compare(project_id, query)
  client.request(:get, "projects/#{project_id}/repository/compare", CommitDiff, query)
end

#contributors(project_id, query = {}) ⇒ Object



41
42
43
# File 'lib/labclient/repository/contributors.rb', line 41

def contributors(project_id, query = {})
  client.request(:get, "projects/#{project_id}/repository/contributors", nil, query)
end

#merge_base(project_id, refs) ⇒ Object



34
35
36
# File 'lib/labclient/repository/merge_base.rb', line 34

def merge_base(project_id, refs)
  client.request(:get, "projects/#{project_id}/repository/merge_base", nil, refs: refs)
end

#tree(project_id, query = {}) ⇒ Object



29
30
31
32
33
# File 'lib/labclient/repository/tree.rb', line 29

def tree(project_id, query = {})
  project_id = format_id(project_id)

  client.request(:get, "projects/#{project_id}/repository/tree", RepositoryTree, query)
end