class Boxen::Flags
Various flags and settings parsed from the command line. See Setup::Configuration for more info.
Attributes
args[R]
disable_service[R]
enable_service[R]
homedir[R]
logfile[R]
login[R]
restart_service[R]
srcdir[R]
token[R]
user[R]
Public Class Methods
new(*args)
click to toggle source
Create a new instance, optionally providing CLI
`args` to parse immediately.
# File lib/boxen/flags.rb, line 26 def initialize(*args) @args = [] @debug = false @env = false @fde = true @help = false @pretend = false @profile = false @report = false @graph = false @projects = false @stealth = false @disable_service = false @enable_service = false @restart_service = false @disable_services = false @enable_services = false @restart_services = false @list_services = false @color = true @options = OptionParser.new do |o| o.banner = "Usage: #{File.basename $0} [options] [projects...]\n\n" o.on "--debug", "Be really verbose." do @debug = true end o.on "--pretend", "--noop", "Don't make changes." do @pretend = true end o.on "--report", "Enable puppet reports." do @report = true end o.on "--graph", "Enable generation of dependency graphs." do @graph = true end o.on "--env", "Show useful environment variables." do @env = true end o.on "--help", "-h", "-?", "Show help." do @help = true end o.on "--disable-service SERVICE", "Disable a Boxen service." do |service| @disable_service = service end o.on "--enable-service SERVICE", "Enable a Boxen service." do |service| @enable_service = service end o.on "--restart-service SERVICE", "Restart a Boxen service." do |service| @restart_service = service end o.on "--disable-services", "Disable all Boxen services." do @disable_services = true end o.on "--enable-services", "Enable all Boxen services." do @enable_services = true end o.on "--restart-services", "Restart all Boxen services." do @restart_services = true end o.on "--list-services", "List Boxen services." do @list_services = true end o.on "--homedir DIR", "Boxen's home directory." do |homedir| @homedir = homedir end o.on "--logfile DIR", "Boxen's log file." do |logfile| @logfile = logfile end o.on "--login LOGIN", "Your GitHub login." do |login| @login = login end o.on "--no-fde", "Don't require full disk encryption." do @fde = false end # --no-pull is used before options are parsed, but consumed here. o.on "--no-pull", "Don't try to update code before applying." o.on "--no-issue", "--stealth", "Don't open an issue on failure." do @stealth = true end o.on "--token TOKEN", "Your GitHub OAuth token." do |token| @token = token end o.on "--profile", "Profile the Puppet run." do @profile = true end o.on "--future-parser", "Enable the Puppet future parser" do @future_parser = true end o.on "--projects", "Show available projects." do @projects = true end o.on "--srcdir DIR", "The directory where repos live." do |srcdir| @srcdir = srcdir end o.on "--user USER", "Your local user." do |user| @user = user end o.on "--no-color", "Disable colors." do @color = false end end parse args.flatten.compact end
Public Instance Methods
apply(config)
click to toggle source
Apply these flags to `config`. Returns `config`.
# File lib/boxen/flags.rb, line 160 def apply(config) config.debug = debug? config.fde = fde? if config.fde? config.homedir = homedir if homedir config.logfile = logfile if logfile config.login = login if login config.token = token if token config.pretend = pretend? config.profile = profile? config.future_parser = future_parser? config.report = report? config.graph = graph? config.srcdir = srcdir if srcdir config.stealth = stealth? config.user = user if user config.color = color? config end
color?()
click to toggle source
# File lib/boxen/flags.rb, line 274 def color? @color end
debug?()
click to toggle source
# File lib/boxen/flags.rb, line 180 def debug? @debug end
disable_service?()
click to toggle source
# File lib/boxen/flags.rb, line 204 def disable_service? @disable_service end
disable_services?()
click to toggle source
# File lib/boxen/flags.rb, line 196 def disable_services? @disable_services end
enable_service?()
click to toggle source
# File lib/boxen/flags.rb, line 208 def enable_service? @enable_service end
enable_services?()
click to toggle source
# File lib/boxen/flags.rb, line 200 def enable_services? @enable_services end
env?()
click to toggle source
# File lib/boxen/flags.rb, line 184 def env? @env end
fde?()
click to toggle source
# File lib/boxen/flags.rb, line 188 def fde? @fde end
future_parser?()
click to toggle source
# File lib/boxen/flags.rb, line 254 def future_parser? @future_parser end
graph?()
click to toggle source
# File lib/boxen/flags.rb, line 262 def graph? @graph end
help?()
click to toggle source
# File lib/boxen/flags.rb, line 192 def help? @help end
list_services?()
click to toggle source
# File lib/boxen/flags.rb, line 220 def list_services? @list_services end
parse(*args)
click to toggle source
Parse `args` as an array of CLI
argument Strings. Raises Boxen::Error
if anything goes wrong. Returns `self`.
# File lib/boxen/flags.rb, line 237 def parse(*args) @args = @options.parse! args.flatten.compact.map(&:to_s) self rescue OptionParser::MissingArgument, OptionParser::InvalidOption => e raise Boxen::Error, "#{e.message}\n#@options" end
pretend?()
click to toggle source
# File lib/boxen/flags.rb, line 246 def pretend? @pretend end
profile?()
click to toggle source
# File lib/boxen/flags.rb, line 250 def profile? @profile end
projects?()
click to toggle source
# File lib/boxen/flags.rb, line 266 def projects? @projects end
report?()
click to toggle source
# File lib/boxen/flags.rb, line 258 def report? @report end
restart_service?()
click to toggle source
# File lib/boxen/flags.rb, line 212 def restart_service? @restart_service end
restart_services?()
click to toggle source
# File lib/boxen/flags.rb, line 216 def restart_services? @restart_services end
run?()
click to toggle source
# File lib/boxen/flags.rb, line 224 def run? !( list_services? || restart_services? || restart_service? || enable_services? || enable_service? || disable_services? || disable_service? || help? ) end
stealth?()
click to toggle source
# File lib/boxen/flags.rb, line 270 def stealth? @stealth end
to_s()
click to toggle source
# File lib/boxen/flags.rb, line 278 def to_s @options.to_s end