Sha256: e2ac2c57c26ce07f21dc5b0b7be1b558ef9413095aa8fb03375d4edc1c731da8

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

module Gitlab
  # Wrapper for the Gitlab REST API.
  class Client < API
    Dir[File.expand_path('../client/*.rb', __FILE__)].each { |f| require f }

    include Branches
    include Builds
    include BuildTriggers
    include BuildVariables
    include Commits
    include Groups
    include Issues
    include Labels
    include MergeRequests
    include Milestones
    include Namespaces
    include Notes
    include Pipelines
    include Projects
    include Repositories
    include RepositoryFiles
    include Runners
    include Services
    include Snippets
    include SystemHooks
    include Tags
    include Users

    # Text representation of the client, masking private token.
    #
    # @return [String]
    def inspect
      inspected = super

      if @private_token
        inspected = inspected.sub! @private_token, only_show_last_four_chars(@private_token)
      end

      inspected
    end

    def url_encode(s)
      ERB::Util.url_encode(s)
    end

    private

    def only_show_last_four_chars(token)
      "#{'*'*(token.size - 4)}#{token[-4..-1]}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gitlab-4.0.0 lib/gitlab/client.rb