class LabClient::Generator::GroupTemplateHelper

Helper for Common Group/Project Templates

Attributes

group_name[RW]
group_path[RW]
group_suffix[RW]
project_name[RW]

Public Instance Methods

generate_group() click to toggle source
# File lib/labclient/generator/template_helper.rb, line 76
def generate_group
  @group = client.groups.create(name: group_name, path: group_path)
  raise 'Unable to Create Group' unless @group.success?
end
run!() click to toggle source
# File lib/labclient/generator/template_helper.rb, line 49
def run!
  logger.info "Running: #{group_suffix}"
  generate_group

  # Run `setup_` prefixed classes
  self.class.instance_methods.grep(/setup_/).each { |x| send(x) }

  # Print Created Groups/Project
  logger.info 'Group', name: @group.name, web_url: @group.web_url
  @projects.each do |project|
    logger.info 'Project', name: project.name, web_url: project.web_url
  end

  {
    group: @group,
    projects: @projects
  }
end
setup() click to toggle source
# File lib/labclient/generator/template_helper.rb, line 68
def setup
  self.group_suffix = self.class.name.demodulize
  self.group_name = opts[:group_name] || "#{gen_groups.sample} #{group_suffix}"
  self.group_path = opts[:group_path] || group_name.downcase.gsub(' ', '-')

  @projects = []
end