class Envo::CmdUnset
Constants
- Name
Attributes
names[R]
Public Class Methods
new(names)
click to toggle source
# File lib/envo/cmd_unset.rb, line 25 def initialize(names) raise Envo::Error.new 'unset: no names provided' if names.empty? @names = names end
parse_cli(args)
click to toggle source
# File lib/envo/cmd_unset.rb, line 16 def self.parse_cli(args) opts = CliParser.filter_opts(args) ParsedCmd.new(CmdUnset.new(args), opts) end
parse_tokens(tokens, opts)
click to toggle source
# File lib/envo/cmd_unset.rb, line 21 def self.parse_tokens(tokens, opts) ParsedCmd.new(CmdUnset.new(tokens), opts) end
register_cli_parser(parser)
click to toggle source
# File lib/envo/cmd_unset.rb, line 8 def self.register_cli_parser(parser) parser.add_cmd(Name, ->(cmd, args) { parse_cli(args) }) end
register_help(help)
click to toggle source
# File lib/envo/cmd_unset.rb, line 4 def self.register_help(help) help.add_cmd 'unset <name> ...', "unset values of one or more environment variables" end
register_script_parser(parser)
click to toggle source
# File lib/envo/cmd_unset.rb, line 12 def self.register_script_parser(parser) parser.add_cmd(Name, ->(cmd, tokens, opts) { parse_tokens(tokens, opts) }) end
Public Instance Methods
execute(ctx)
click to toggle source
# File lib/envo/cmd_unset.rb, line 32 def execute(ctx) @names.each do |name| ename = ctx.expand_name(name) raw_old_val = ctx.raw_get(ename) if raw_old_val ctx.unset(ename) else raise Envo::Error.new "unset: no such var '#{ename}'" if !ctx.force? end end end