class Bronze::Transforms::Attributes::BigDecimalTransform

Transform class that normalizes a BigDecimal to a string representation.

Public Class Methods

instance() click to toggle source

@return [BigDecimalTransform] a memoized instance of BigDecimalTranform.

# File lib/bronze/transforms/attributes/big_decimal_transform.rb, line 12
def self.instance
  @instance ||= new
end

Public Instance Methods

denormalize(value) click to toggle source

Converts a normalized BigDecimal (a String) to a BigDecimal instance.

@param value [String] The normalized string.

@return [BigDecimal] the denormalized instance.

# File lib/bronze/transforms/attributes/big_decimal_transform.rb, line 21
def denormalize(value)
  return nil if value.nil?

  BigDecimal(value)
rescue ArgumentError
  BigDecimal('0.0')
end
normalize(value) click to toggle source

Converts a BigDecimal to a string representation.

@param value [BigDecimal] The BigDecimal to normalize.

@return [String] the string representation.

# File lib/bronze/transforms/attributes/big_decimal_transform.rb, line 34
def normalize(value)
  return nil if value.nil?

  value.to_s
end