Module: Woody::Decorators::Insights::FieldTransformer

Defined in:
lib/woody/decorators/insights/field_transformer.rb

Class Method Summary collapse

Class Method Details

.apply_transformers(transformers, value) ⇒ Object



27
28
29
30
31
# File 'lib/woody/decorators/insights/field_transformer.rb', line 27

def self.apply_transformers(transformers, value)
  transformers.reduce(value) do |accum, transformer|
    transformer.(accum)
  end
end

.commasObject



5
6
7
8
9
# File 'lib/woody/decorators/insights/field_transformer.rb', line 5

def self.commas()
  lambda do |val|
    val.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
  end
end

.percentageObject



11
12
13
# File 'lib/woody/decorators/insights/field_transformer.rb', line 11

def self.percentage()
  lambda { |val| format('%s%', val.to_s) }
end

.round(precision) ⇒ Object



15
16
17
# File 'lib/woody/decorators/insights/field_transformer.rb', line 15

def self.round(precision)
  lambda { |val| val.round(precision) }
end

.shortenObject



19
20
21
22
23
24
25
# File 'lib/woody/decorators/insights/field_transformer.rb', line 19

def self.shorten()
  lambda do |val|
    return val.to_s if val < 1000
    return format('%sk', (val / 1000)) if val < 1000000
    return format('%sm', (val / 1000000))
  end
end