class Nv::Config
Public Class Methods
new(config_path)
click to toggle source
Calls superclass method
# File lib/nv/config.rb, line 13 def initialize(config_path) # Initialize config file @config_path = config_path config_dir = File.dirname(@config_path) Dir.mkdir(config_dir) unless Dir.exist?(config_dir) FileUtils.touch(@config_path) unless File.exist?(@config_path) @config = YAML.load(open(@config_path).read) || {} super(@config) end
Public Instance Methods
save()
click to toggle source
# File lib/nv/config.rb, line 25 def save File.open(@config_path, 'w') do |f| f.print YAML.dump(transform_keys(self.to_h){|k| k.to_s}) end end
verify_for_authentication()
click to toggle source
# File lib/nv/config.rb, line 31 def verify_for_authentication self.email && self.password end
verify_for_authentication!(cmd)
click to toggle source
# File lib/nv/config.rb, line 35 def verify_for_authentication!(cmd) unless verify_for_authentication puts <<-EOD.undent `nv #{cmd}` should be given email and password. $ nv config email <email> $ nv config password <password> EOD exit end end
Private Instance Methods
transform_keys(hs) { |key| ... }
click to toggle source
# File lib/nv/config.rb, line 48 def transform_keys(hs) result = {} hs.each_key do |key| result[yield(key)] = hs[key] end result end