class Forward::Command::Config
Constants
- CONFIGURABLE_SETTINGS
- FALESY_REGEX
- TRUTHY_REGEX
Public Instance Methods
get(*args)
click to toggle source
# File lib/forward/command/config.rb, line 29 def get(*args) @setting = args.first validate :setting config.load exit_with_message "#{@setting} is currently #{config.send(@setting)}" end
set(*args)
click to toggle source
# File lib/forward/command/config.rb, line 8 def set(*args) @setting = args[0] @value = args[1] validate :setting, :value config.load config.send("#{@setting}=", @value) config.write exit_with_message "#{@setting} is now #{config.send(@setting)}" end
unset(*args)
click to toggle source
# File lib/forward/command/config.rb, line 19 def unset(*args) @setting = args.first validate :setting config.load default_value = config.set_default!(@setting) config.write exit_with_message "#{@setting} is now set to the default `#{default_value}'" end
Private Instance Methods
booleanize_value()
click to toggle source
# File lib/forward/command/config.rb, line 50 def booleanize_value return @value = true if @value =~ TRUTHY_REGEX return @value = false if @value =~ FALESY_REGEX raise ValidationError, "#{@setting} cannot be set to `#{@value}'" end
validate_setting()
click to toggle source
# File lib/forward/command/config.rb, line 57 def validate_setting unless CONFIGURABLE_SETTINGS.include?(@setting) raise ValidationError, "`#{@setting}' is an unknown setting" end end
validate_value()
click to toggle source
# File lib/forward/command/config.rb, line 39 def validate_value @value = @value.dup.strip case @setting when 'auto_copy' booleanize_value when 'auto_open' booleanize_value end end