module TTY::Option::ParamConversion
Public Class Methods
call(param, value)
click to toggle source
Convert parameter value to another type
@example
param = Parameter::Argument.create(:foo, convert: :int) result = ParamConversion[param, "12"] result.value # => 12
@api public
# File lib/tty/option/param_conversion.rb, line 17 def call(param, value) return Result.success(value) if !param.convert? || value.nil? cast = param.convert cast = cast.is_a?(Proc) ? cast : Conversions[cast] converted = cast.(value) if converted == Const::Undefined Result.failure(InvalidConversionArgument.new(param, value)) else Result.success(converted) end end
Also aliased as: []
Private Instance Methods
call(param, value)
click to toggle source
Convert parameter value to another type
@example
param = Parameter::Argument.create(:foo, convert: :int) result = ParamConversion[param, "12"] result.value # => 12
@api public
# File lib/tty/option/param_conversion.rb, line 17 def call(param, value) return Result.success(value) if !param.convert? || value.nil? cast = param.convert cast = cast.is_a?(Proc) ? cast : Conversions[cast] converted = cast.(value) if converted == Const::Undefined Result.failure(InvalidConversionArgument.new(param, value)) else Result.success(converted) end end
Also aliased as: []