Module: Woody::Decorators::Insights::FieldTransformer
- Defined in:
- lib/woody/decorators/insights/field_transformer.rb
Class Method Summary collapse
- .apply_transformers(transformers, value) ⇒ Object
- .commas ⇒ Object
- .percentage ⇒ Object
- .round(precision) ⇒ Object
- .shorten ⇒ Object
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 |
.commas ⇒ Object
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 |
.percentage ⇒ Object
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 |
.shorten ⇒ Object
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 |