Class: Avm::Gitlab::RestApi

Inherits:
EacRest::Api
  • Object
show all
Defined in:
lib/avm/gitlab/rest_api.rb,
lib/avm/gitlab/rest_api/file.rb,
lib/avm/gitlab/rest_api/node.rb,
lib/avm/gitlab/rest_api/root.rb,
lib/avm/gitlab/rest_api/group.rb,
lib/avm/gitlab/rest_api/member.rb,
lib/avm/gitlab/rest_api/project.rb,
lib/avm/gitlab/rest_api/nodes_set.rb,
lib/avm/gitlab/rest_api/base_entity.rb

Defined Under Namespace

Classes: BaseEntity, File, Group, Member, Node, NodesSet, Project, Root

Constant Summary collapse

API_SUFFIX =
'/api/v4'

Instance Method Summary collapse

Instance Method Details

#auth_tokenObject



13
14
15
# File 'lib/avm/gitlab/rest_api.rb', line 13

def auth_token
  ENV.fetch('TRF1_GITLAB_PRIVATE_TOKEN')
end

#build_service_url_suffix(suffix) ⇒ Object



17
18
19
20
21
# File 'lib/avm/gitlab/rest_api.rb', line 17

def build_service_url_suffix(suffix)
  r = super(suffix)
  r.path = API_SUFFIX + r.path
  r
end

#custom_headersObject



23
24
25
26
27
# File 'lib/avm/gitlab/rest_api.rb', line 23

def custom_headers
  {
    'PRIVATE-TOKEN' => auth_token
  }
end

#nodes_set(*projects_ids) ⇒ Avm::Gitlab::RestApi::ProjectsSet

Returns:

  • (Avm::Gitlab::RestApi::ProjectsSet)


30
31
32
# File 'lib/avm/gitlab/rest_api.rb', line 30

def nodes_set(*projects_ids)
  ::Avm::Gitlab::RestApi::NodesSet.new(self, *projects_ids)
end

#request(service_url_suffix, headers = {}, &body_data_proc) ⇒ Object



34
35
36
# File 'lib/avm/gitlab/rest_api.rb', line 34

def request(service_url_suffix, headers = {}, &body_data_proc)
  super(service_url_suffix, custom_headers.merge(headers), &body_data_proc)
end

#rootObject



38
39
40
# File 'lib/avm/gitlab/rest_api.rb', line 38

def root
  @root ||= ::Avm::Gitlab::RestApi::Root.new(self, {})
end