class LazyAnt::Config
Attributes
connection_callbacks[R]
Public Class Methods
accessor_methods(name)
click to toggle source
# File lib/lazy_ant/config.rb, line 60 def accessor_methods(name) attr = name.to_s.gsub(/[!\?]$/, '') var = "@#{attr}".to_sym ["#{attr}=".to_sym, name.to_sym, var, name[-1] == '?'] end
define_reader(reader, var, _options = {})
click to toggle source
# File lib/lazy_ant/config.rb, line 50 def define_reader(reader, var, _options = {}) define_method reader do instance_variable_get(var) end end
define_writer(writer, var, options = {})
click to toggle source
# File lib/lazy_ant/config.rb, line 42 def define_writer(writer, var, options = {}) define_method writer do |val| deprecated writer, options[:deprecated] if options[:deprecated] validate(val) if options[:question] instance_variable_set(var, val) end end
key(name, options = {})
click to toggle source
# File lib/lazy_ant/config.rb, line 33 def key(name, options = {}) writer, reader, var, question = accessor_methods(name) options[:question] = question keys[var] = options define_writer(writer, var, options) define_reader(reader, var, options) end
keys()
click to toggle source
# File lib/lazy_ant/config.rb, line 56 def keys @keys ||= {} end
new()
click to toggle source
# File lib/lazy_ant/config.rb, line 5 def initialize self.class.keys.each do |var, options| instance_variable_set(var, options[:default]) end @connection_callbacks = [] end
Public Instance Methods
deprecated(method, instead)
click to toggle source
# File lib/lazy_ant/config.rb, line 12 def deprecated(method, instead) msg = "config.#{method} is deprecated" if instead.is_a?(Symbol) writer, = self.class.accessor_methods(instead) msg += ", use config.#{writer}" end warn msg end
logger(instance = nil, options = {})
click to toggle source
# File lib/lazy_ant/config.rb, line 25 def logger(instance = nil, options = {}) @connection_callbacks << lambda do |con| args = [:logger, instance, options].compact con.send(:response, *args) end end
validate(val)
click to toggle source
# File lib/lazy_ant/config.rb, line 21 def validate(val) raise ArgumentError unless val == true || val == false end