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

Version Path
qiita_org-0.1.35 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.34 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.33 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.32 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.31 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.30 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.29 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.28 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.27 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.26 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
qiita_org-0.1.25 gems/ruby/2.7.0/gems/listen-3.3.1/lib/listen/options.rb
listen-3.3.1 lib/listen/options.rb
listen-3.3.0 lib/listen/options.rb
listen-3.3.0.pre.3 lib/listen/options.rb
listen-3.3.0.pre.2 lib/listen/options.rb