Class: Gitlab::Cli::GitLab

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/cli/gitlab.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ GitLab



7
8
9
# File 'lib/gitlab/cli/gitlab.rb', line 7

def initialize(options)
  @api = Gitlab::Cli::Api.new(options)
end

Instance Method Details

#apply_group_settings(group_settings) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/gitlab/cli/gitlab.rb', line 20

def apply_group_settings(group_settings)
  group_settings.each do |group_name, setting|
    p "Applying settings to: #{group_name}"
    group_id = group_id(group_name)
    all_projects = projects(group_id)
    all_projects.each do |project|
      setting.each do |name, value|
        project.send('update_'+name, value)
      end
    end
  end
end

#projects(group_id = nil) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/gitlab/cli/gitlab.rb', line 11

def projects(group_id = nil)
  projects_json = @api.http_get(group_id ? "groups/#{group_id}/projects" : 'projects')
  projects = []
  projects_json.each do |proj_json|
    projects << Gitlab::Cli::Project.new(@api, id: proj_json['id'], name: proj_json['name'])
  end
  projects
end