class ProcessExecuter::Options::OptionDefinition
Defines an option that can be used by an Options
object
@api public
Attributes
default[R]
The default value of the option
@example
option = ProcessExecuter::Options::OptionDefinition.new(:timeout_after, default: 10) option.default # => 10
@return [Object]
name[R]
The name of the option
@example
option = ProcessExecuter::Options::OptionDefinition.new(:timeout_after) option.name # => :timeout_after
@return [Symbol]
validator[R]
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
new(name, default: nil, validator: nil)
click to toggle source
Create a new option definition
@example
option = ProcessExecuter::Options::OptionDefinition.new( :timeout_after, default: 10, validator: ->(_k, _v) { timeout_after.is_a?(Numeric) } )
# File lib/process_executer/options/option_definition.rb, line 53 def initialize(name, default: nil, validator: nil) @name = name @default = default @validator = validator end