Class: PaperTrail::Human::Adapters::Resolvers::Number

Inherits:
Object
  • Object
show all
Includes:
Ports::Resolver
Defined in:
lib/paper_trail/human/adapters/resolvers/number.rb

Instance Method Summary collapse

Constructor Details

#initialize(format: :default, unit: nil, precision: 2, delimiter: ',', separator: '.') ⇒ Number

rubocop:disable Metrics/ParameterLists



11
12
13
14
15
16
17
18
# File 'lib/paper_trail/human/adapters/resolvers/number.rb', line 11

def initialize(format: :default, unit: nil, precision: 2, delimiter: ',', separator: '.', **)
  # rubocop:enable Metrics/ParameterLists
  @format = format
  @unit = unit
  @precision = precision
  @delimiter = delimiter
  @separator = separator
end

Instance Method Details

#resolve(value) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/paper_trail/human/adapters/resolvers/number.rb', line 20

def resolve(value)
  num = to_number(value)
  return value unless num

  case @format
  when :currency then format_currency(num)
  when :percentage then format_percentage(num)
  else format_number(num)
  end
end