class Gitload::Sources::GitLab

Public Class Methods

new(config, options = {}) click to toggle source
# File lib/gitload/sources/gitlab.rb, line 9
def initialize config, options = {}
  @config = config

  ::Gitlab.configure do |c|
    c.endpoint = 'https://gitlab.com/api/v4'
    c.private_token = options.fetch :private_token, ENV['GITLOAD_GITLAB_TOKEN']
  end
end

Public Instance Methods

repos() click to toggle source
# File lib/gitload/sources/gitlab.rb, line 18
def repos

  puts 'Loading GitLab projects...'
  data = @config.load_or_cache_data 'gitlab' do

    projects = []

    Gitlab.projects(membership: true, per_page: 100).auto_paginate do |project|
      projects << project.to_h
    end

    Utils.stringify_keys(projects)
  end

  data.collect{ |d| Repo.new d }
end