Class: Puma::LeveledOptions
- Inherits:
-
Object
- Object
- Puma::LeveledOptions
- Defined in:
- lib/puma/configuration.rb
Instance Attribute Summary collapse
-
#cur ⇒ Object
readonly
Returns the value of attribute cur.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
- #all_of(key) ⇒ Object
- #explain ⇒ Object
- #fetch(key, default = nil) ⇒ Object
- #flatten ⇒ Object
- #force_defaults ⇒ Object
-
#initialize(default_options, user_options) ⇒ LeveledOptions
constructor
A new instance of LeveledOptions.
- #initialize_copy(other) ⇒ Object
- #key?(key) ⇒ Boolean
- #merge!(o) ⇒ Object
- #reverse_shift ⇒ Object
- #shift ⇒ Object
Constructor Details
#initialize(default_options, user_options) ⇒ LeveledOptions
Returns a new instance of LeveledOptions.
17 18 19 20 21 |
# File 'lib/puma/configuration.rb', line 17 def initialize(, ) @cur = @set = [@cur] @defaults = .dup end |
Instance Attribute Details
#cur ⇒ Object (readonly)
Returns the value of attribute cur.
59 60 61 |
# File 'lib/puma/configuration.rb', line 59 def cur @cur end |
Instance Method Details
#[](key) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/puma/configuration.rb', line 38 def [](key) @set.reverse_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) ⇒ Object
77 78 79 |
# File 'lib/puma/configuration.rb', line 77 def []=(key, val) @cur[key] = val end |
#all_of(key) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/puma/configuration.rb', line 61 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 ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/puma/configuration.rb', line 109 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) ⇒ Object
53 54 55 56 57 |
# File 'lib/puma/configuration.rb', line 53 def fetch(key, default=nil) val = self[key] return val if val default end |
#flatten ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/puma/configuration.rb', line 97 def flatten = {} @set.each do |o| o.each do |k,v| [k] ||= v end end end |
#force_defaults ⇒ Object
121 122 123 124 125 126 127 |
# File 'lib/puma/configuration.rb', line 121 def force_defaults @defaults.each do |k,v| if v.respond_to? :call @defaults[k] = v.call end end end |
#initialize_copy(other) ⇒ Object
23 24 25 26 |
# File 'lib/puma/configuration.rb', line 23 def initialize_copy(other) @set = @set.map { |o| o.dup } @cur = @set.last end |
#key?(key) ⇒ Boolean
81 82 83 84 85 86 87 88 89 |
# File 'lib/puma/configuration.rb', line 81 def key?(key) @set.each do |o| if o.key? key return true end end @default.key? key end |
#merge!(o) ⇒ Object
91 92 93 94 95 |
# File 'lib/puma/configuration.rb', line 91 def merge!(o) o.each do |k,v| @cur[k]= v end end |
#reverse_shift ⇒ Object
33 34 35 36 |
# File 'lib/puma/configuration.rb', line 33 def reverse_shift @cur = {} @set.unshift(@cur) end |
#shift ⇒ Object
28 29 30 31 |
# File 'lib/puma/configuration.rb', line 28 def shift @cur = {} @set << @cur end |