Class: Avm::EacGitlabBase0::Api

Inherits:
EacRest::Api
  • Object
show all
Defined in:
lib/avm/eac_gitlab_base0/api.rb,
lib/avm/eac_gitlab_base0/api/file.rb,
lib/avm/eac_gitlab_base0/api/node.rb,
lib/avm/eac_gitlab_base0/api/root.rb,
lib/avm/eac_gitlab_base0/api/group.rb,
lib/avm/eac_gitlab_base0/api/member.rb,
lib/avm/eac_gitlab_base0/api/project.rb,
lib/avm/eac_gitlab_base0/api/nodes_set.rb,
lib/avm/eac_gitlab_base0/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/eac_gitlab_base0/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/eac_gitlab_base0/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/eac_gitlab_base0/api.rb', line 23

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

#nodes_set(*projects_ids) ⇒ Avm::EacGitlabBase0::Api::ProjectsSet

Returns:

  • (Avm::EacGitlabBase0::Api::ProjectsSet)


30
31
32
# File 'lib/avm/eac_gitlab_base0/api.rb', line 30

def nodes_set(*projects_ids)
  ::Avm::EacGitlabBase0::Api::NodesSet.new(self, *projects_ids)
end

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



34
35
36
# File 'lib/avm/eac_gitlab_base0/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/eac_gitlab_base0/api.rb', line 38

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