Sha256: 80cba107f28018ac1387e39221510e931b67129f4e743663d195a0accae67cdc
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
require "vagrant" require "ostruct" module VagrantPlugins module Registration class Config < Vagrant.plugin('2', :config) attr_reader :conf def initialize(region_specific=false) @conf = UNSET_VALUE @logger = Log4r::Logger.new('vagrant_registration::config') end def finalize! get_config @conf.skip = false unless @conf.skip # Unregister on halt by default @conf.unregister_on_halt = true if @conf.unregister_on_halt.nil? @logger.info "Final registration configuration: #{@conf.inspect}" end def method_missing(method_sym, *arguments, &block) get_config command = "@conf.#{method_sym} #{adjust_arguments(arguments)}" @logger.info "Evaluating registration configuration: #{command}" eval command end private # Don't set @conf to OpenStruct in initialize # to preserve config hierarchy def get_config @conf = OpenStruct.new if @conf == UNSET_VALUE end def adjust_arguments(args) return '' if args.size < 1 args.map { |a| a.is_a?(String) ? "'#{a}'" : a }.join(',') end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vagrant-registration-1.0.1 | lib/vagrant-registration/config.rb |
vagrant-registration-1.0.0 | lib/vagrant-registration/config.rb |