Puma::UserFileDefaultOptions < Object
| Use Case | Command | Description |
|---|---|---|
| Create instance | Puma::UserFileDefaultOptions.new(user_options, default_options) |
Create a new configuration options object with user and default levels |
| Set file-level options | options.file_options[:key] = value |
Set a file-level option (overrides defaults, defers to user) |
| Access final value | options[:key] |
Retrieve value with precedence: user > file > default |
| Access all level values | options.all_of(:key) |
Return array of all values from each level (user, file, default) |
| Fetch with fallback | options.fetch(:key, default) |
Like [] but raises KeyError or returns provided default |
| Finalize proc defaults | options.finalize_values |
Resolve any proc-based default options during runtime |
A class used for storing "leveled" configuration options.
In this class any "user" specified options take precedence over any "file" specified options, take precedence over any "default" options.
User input is preferred over "defaults":
user_options = { foo: "bar" }
default_options = { foo: "zoo" }
options = UserFileDefaultOptions.new(user_options, default_options)
puts options[:foo]
# => "bar"
All values can be accessed via all_of:
puts options.all_of(:foo)
# => ["bar", "zoo"]
A "file" option can be set. This config will be preferred over "default" options but will defer to any available "user" specified options.
user_options = { foo: "bar" }
default_options = { rackup: "zoo.rb" }
options = UserFileDefaultOptions.new(user_options, default_options)
options.file_options[:rackup] = "sup.rb"
puts options[:rackup]
# => "sup.rb"
The "default" options can be set via procs. These are resolved during runtime via calls to finalize_values.
new — Create a new instance[][]=all_ofdefault_optionsfetchfile_optionsfinal_optionsfinalize_valuesuser_optionsdefault_options (attr_reader)file_options (attr_reader)user_options (attr_reader)Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-29 02:09 @216.73.217.46
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format