class ParamsCollector::Marshaler::NumberMarshaler

Attributes

value[R]

Public Class Methods

new() click to toggle source
# File lib/params_collector/marshaler/number_marshaler.rb, line 26
def initialize
  @default_value = 0
  @value = @default_value
end

Public Instance Methods

set(value) click to toggle source
# File lib/params_collector/marshaler/number_marshaler.rb, line 31
def set(value)
  @value = @default_value if value.nil?
  @value = value if value.is_a?(Integer) || value.is_a?(Float)
  @value = parse_string(value) if value.is_a?(String)
end

Private Instance Methods

parse_string(value) click to toggle source
# File lib/params_collector/marshaler/number_marshaler.rb, line 39
def parse_string(value)
  return value.to_i if value =~ /^\d+$/
  return value.to_f if value =~ /^[0-9\.]+$/
  @default_value
end