class Foraneus::Converters::Integer

Constants

DELIMITED_REGEX

Attributes

opts[R]

Public Class Methods

new(opts = {}) click to toggle source

@param [Hash] opts @option opts [String] delimiter Thousands delimiter.

# File lib/foraneus/converters/integer.rb, line 11
def initialize(opts = {})
  @opts = opts
  @delimiter = opts[:delimiter]
end

Public Instance Methods

parse(s) click to toggle source

@raise [TypeError] with message ‘invalid value for Integer(): …’

@return [Integer]

# File lib/foraneus/converters/integer.rb, line 19
def parse(s)
  raise TypeError, "can't convert nil into Integer" if s.nil?

  s = s.gsub(@delimiter, '') if @delimiter

  Kernel.Integer(s)
end
raw(v) click to toggle source
# File lib/foraneus/converters/integer.rb, line 27
def raw(v)
  s = v.to_s

  if @delimiter
    s.gsub!(DELIMITED_REGEX) { "#{$1}#{@delimiter}" }
  end

  s
end