Sha256: 7f208d7dc98256ae5e813bfa60aeabdfd8eeac1114c66f97de0ebefdbc92045a

Contents?: true

Size: 957 Bytes

Versions: 6

Compression:

Stored size: 957 Bytes

Contents

# frozen_string_literal: true

require 'eac_rest/api'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacGitlabBase0
    class Api < ::EacRest::Api
      require_sub __FILE__

      API_SUFFIX = '/api/v4'

      def auth_token
        ENV.fetch('TRF1_GITLAB_PRIVATE_TOKEN')
      end

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

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

      # @return [Avm::EacGitlabBase0::Api::ProjectsSet]
      def nodes_set(*projects_ids)
        ::Avm::EacGitlabBase0::Api::NodesSet.new(self, *projects_ids)
      end

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

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

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
eac_tools-0.84.0 sub/avm-eac_gitlab_base0/lib/avm/eac_gitlab_base0/api.rb
eac_tools-0.83.0 sub/avm-eac_gitlab_base0/lib/avm/eac_gitlab_base0/api.rb
eac_tools-0.82.0 sub/avm-eac_gitlab_base0/lib/avm/eac_gitlab_base0/api.rb
avm-eac_gitlab_base0-0.4.0 lib/avm/eac_gitlab_base0/api.rb
eac_tools-0.81.0 sub/avm-eac_gitlab_base0/lib/avm/eac_gitlab_base0/api.rb
avm-eac_gitlab_base0-0.3.0 lib/avm/eac_gitlab_base0/api.rb