class ProcessExecuter::Options::OptionDefinition
Defines an option that can be used by an Options
object
@api public
Attributes
The default value of the option
@example
option = ProcessExecuter::Options::OptionDefinition.new(:timeout_after, default: 10) option.default # => 10
@return [Object]
The name of the option
@example
option = ProcessExecuter::Options::OptionDefinition.new(:timeout_after) option.name # => :timeout_after
@return [Symbol]
A method or proc that validates the option
A callable that receives ‘option_key`, `option_value` and is executed in the context of the options instance. It should add messages to an `errors` array if validation fails.
@example
option = ProcessExecuter::Options::OptionDefinition.new( :timeout_after, validator: method(:validate_timeout_after) ) option.validator # => #<Method: ProcessExecuter#validate_timeout_after>
@return [Method, Proc, nil]
Public Class Methods
Source
# File lib/process_executer/options/option_definition.rb, line 53 def initialize(name, default: nil, validator: nil) @name = name @default = default @validator = validator end
Create a new option definition
@example
option = ProcessExecuter::Options::OptionDefinition.new( :timeout_after, default: 10, validator: ->(_k, _v) { timeout_after.is_a?(Numeric) } )