class Puma::LeveledOptions
Attributes
cur[R]
Public Class Methods
new(default_options, user_options)
click to toggle source
# File lib/puma/configuration.rb, line 16 def initialize(default_options, user_options) @cur = user_options @set = [@cur] @defaults = default_options.dup end
Public Instance Methods
[](key)
click to toggle source
# File lib/puma/configuration.rb, line 32 def [](key) @set.each do |o| if o.key? key return o[key] end end v = @defaults[key] if v.respond_to? :call v.call else v end end
[]=(key, val)
click to toggle source
# File lib/puma/configuration.rb, line 71 def []=(key, val) @cur[key] = val end
all_of(key)
click to toggle source
# File lib/puma/configuration.rb, line 55 def all_of(key) all = [] @set.each do |o| if v = o[key] if v.kind_of? Array all += v else all << v end end end all end
explain()
click to toggle source
# File lib/puma/configuration.rb, line 103 def explain indent = "" @set.each do |o| o.keys.sort.each do |k| puts "#{indent}#{k}: #{o[k].inspect}" end indent = " #{indent}" end end
fetch(key, default=nil)
click to toggle source
# File lib/puma/configuration.rb, line 47 def fetch(key, default=nil) val = self[key] return val if val default end
flatten()
click to toggle source
# File lib/puma/configuration.rb, line 91 def flatten options = {} @set.each do |o| o.each do |k,v| options[k] ||= v end end options end
force_defaults()
click to toggle source
# File lib/puma/configuration.rb, line 115 def force_defaults @defaults.each do |k,v| if v.respond_to? :call @defaults[k] = v.call end end end
initialize_copy(other)
click to toggle source
# File lib/puma/configuration.rb, line 22 def initialize_copy(other) @set = @set.map { |o| o.dup } @cur = @set.last end
key?(key)
click to toggle source
# File lib/puma/configuration.rb, line 75 def key?(key) @set.each do |o| if o.key? key return true end end @default.key? key end
merge!(o)
click to toggle source
# File lib/puma/configuration.rb, line 85 def merge!(o) o.each do |k,v| @cur[k]= v end end
shift()
click to toggle source
# File lib/puma/configuration.rb, line 27 def shift @cur = {} @set << @cur end