class Bastion::Config
Config
class
Constants
- ENVVAR
- SYSTEM
- USER
Public Class Methods
new(options)
click to toggle source
# File lib/bastion/config.rb, line 10 def initialize(options) @system = read(SYSTEM) @user = read(USER) @env = ENV[ENVVAR] @option = options[:host] @host = @option || @env || @user || @system save @host if options[:save] end
Public Instance Methods
info()
click to toggle source
# File lib/bastion/config.rb, line 19 def info puts "System : #{@system}" puts "User : #{@user}" puts "Env : #{@env}" puts "Option : #{@option}" puts "Using : #{@host}" end
method_missing(name)
click to toggle source
# File lib/bastion/config.rb, line 40 def method_missing(name) instance_variable_get :"@#{name}" end
read(file, default = nil)
click to toggle source
# File lib/bastion/config.rb, line 27 def read(file, default = nil) return default unless File.exist?(file) value = File.read(file) value.empty? ? nil : value end
save(value)
click to toggle source
# File lib/bastion/config.rb, line 33 def save(value) dir = File.dirname(USER) Dir.mkdir(dir) unless Dir.exist?(dir) File.write USER, value File.read USER end