Sha256: 5bd9f7d63175a52216e37e2cfb60cafa2a849c03c82a3a2194e7f8eeffbd21e8
Contents?: true
Size: 609 Bytes
Versions: 15
Compression:
Stored size: 609 Bytes
Contents
# frozen_string_literal: true module Listen class Options def initialize(opts, defaults) @options = {} given_options = opts.dup defaults.keys.each do |key| @options[key] = given_options.delete(key) || defaults[key] end return if given_options.empty? msg = "Unknown options: #{given_options.inspect}" Listen.logger.warn msg fail msg end def method_missing(name, *_) return @options[name] if @options.key?(name) msg = "Bad option: #{name.inspect} (valid:#{@options.keys.inspect})" fail NameError, msg end end end
Version data entries
15 entries across 15 versions & 2 rubygems