Module: Apiwork::Configurable
- Extended by:
- ActiveSupport::Concern
- Included in:
- Adapter::Base, Adapter::Capability::Base, Export::Base
- Defined in:
- lib/apiwork/configurable.rb
Class Method Summary collapse
- .define(extends: nil, &block) ⇒ Object
-
.option(name, type:, default: nil, enum: nil) { ... } ⇒ void
Defines a configuration option.
Class Method Details
.define(extends: nil, &block) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/apiwork/configurable.rb', line 8 def define(extends: nil, &block) Class.new do include Configurable self. = extends..dup if extends class_eval(&block) if block end end |
.option(name, type:, default: nil, enum: nil) { ... } ⇒ void
This method returns an undefined value.
Defines a configuration option.
For nested options, use ‘type: :hash` with a block. Inside the block, call `option` to define child options.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/apiwork/configurable.rb', line 56 class_methods do def inherited(subclass) super subclass. = .dup end def option(name, default: nil, enum: nil, type:, &block) [name] = Configuration::Option.new(name, type, default:, enum:, &block) end def .transform_values(&:effective_default).compact end end |