Sha256: f961f774a8006f1c51657703a70a7224215ebdb97c988aa2669003f3c438f52c
Contents?: true
Size: 756 Bytes
Versions: 11
Compression:
Stored size: 756 Bytes
Contents
# frozen_string_literal: true module DeepCover module ConfigSetter def config_queue @config_queue ||= [] end def config(notify = self) raise ArgumentError, 'config does not accept an argument. Did you mean `configure`?' if block_given? @config ||= Config.new(notify) config_queue.each { |block| configure(&block) } config_queue.clear @config end 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 end end
Version data entries
11 entries across 11 versions & 2 rubygems