Sha256: e1da7c489be58555e3eb1565876649e136bacdce56536412e226a53163278905

Contents?: true

Size: 755 Bytes

Versions: 24

Compression:

Stored size: 755 Bytes

Contents

# frozen_string_literal: true

module Geet
  module Gitlab
    class User
      attr_reader :id, :username

      def initialize(id, username, api_interface)
        @id = id
        @username = username
        @api_interface = api_interface
      end

      # Returns an array of User instances
      #
      def self.list_collaborators(api_interface, **)
        api_path = "projects/#{api_interface.path_with_namespace(encoded: true)}/members"

        response = api_interface.send_request(api_path, multipage: true)

        response.map do |user_entry|
          id = user_entry.fetch('id')
          username = user_entry.fetch('username')

          new(id, username, api_interface)
        end
      end
    end # User
  end # Gitlab
end # Geet

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
geet-0.22.0 lib/geet/gitlab/user.rb
geet-0.21.0 lib/geet/gitlab/user.rb
geet-0.19.0 lib/geet/gitlab/user.rb
geet-0.18.0 lib/geet/gitlab/user.rb
geet-0.17.0 lib/geet/gitlab/user.rb
geet-0.16.0 lib/geet/gitlab/user.rb
geet-0.15.0 lib/geet/gitlab/user.rb
geet-0.14.0 lib/geet/gitlab/user.rb
geet-0.13.0 lib/geet/gitlab/user.rb
geet-0.12.0 lib/geet/gitlab/user.rb
geet-0.11.0 lib/geet/gitlab/user.rb
geet-0.10.0 lib/geet/gitlab/user.rb
geet-0.9.0 lib/geet/gitlab/user.rb
geet-0.8.0 lib/geet/gitlab/user.rb
geet-0.7.0 lib/geet/gitlab/user.rb
geet-0.6.0 lib/geet/gitlab/user.rb
geet-0.5.0 lib/geet/gitlab/user.rb
geet-0.4.4 lib/geet/gitlab/user.rb
geet-0.4.3 lib/geet/gitlab/user.rb
geet-0.4.2 lib/geet/gitlab/user.rb