module DeepCover::ConfigSetter

Public Instance Methods

config(notify = self) click to toggle source
# File lib/deep_cover/config_setter.rb, line 9
def config(notify = self)
  raise ArgumentError, 'config does not accept a block. Did you mean `configure`?' if block_given?
  @config ||= Config.new(notify)
  config_queue.each { |block| configure(&block) }
  config_queue.clear
  @config
end
config_queue() click to toggle source
# File lib/deep_cover/config_setter.rb, line 5
def config_queue
  @config_queue ||= []
end
configure(&block) click to toggle source
# File lib/deep_cover/config_setter.rb, line 17
def configure(&block)
  raise 'Must provide a block' unless block
  @config ||= nil # avoid warning
  if @config == nil
    config_queue << block
  else
    case block.arity
    when 0
      @config.instance_eval(&block)
    when 1
      block.call(@config)
    end
  end
  self
end