class Gitlab::Cli::GitLab
Public Class Methods
new(options)
click to toggle source
# File lib/gitlab/cli/gitlab.rb, line 7 def initialize(options) @api = Gitlab::Cli::Api.new(options) end
Public Instance Methods
apply_group_settings(group_settings)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
group_id(group_name)
click to toggle source
# File lib/gitlab/cli/gitlab.rb, line 35 def group_id(group_name) grp = @api.http_get('groups').find {|g| g['name'] == group_name} grp ? grp['id'] : raise("Group #{group_name} not found") end