Class: Gitload::Sources::GitLab

Inherits:
Object
  • Object
show all
Includes:
Source
Defined in:
lib/gitload/sources/gitlab.rb

Defined Under Namespace

Classes: Repo

Instance Method Summary collapse

Methods included from Source

included

Constructor Details

#initialize(config, options = {}) ⇒ GitLab



9
10
11
12
13
14
15
16
# File 'lib/gitload/sources/gitlab.rb', line 9

def initialize config, options = {}
  @config = config

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

Instance Method Details

#reposObject



18
19
20
21
22
23
24
25
# File 'lib/gitload/sources/gitlab.rb', line 18

def repos

  data = @config.load_or_cache_data 'gitlab' do
    Utils.stringify_keys(::Gitlab.projects.auto_paginate.collect(&:to_h))
  end

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