lib/purchase/characterization.rb in purchase-1.0.8 vs lib/purchase/characterization.rb in purchase-1.0.9

- old
+ new

@@ -1,19 +1,67 @@ require 'characterizable' +require 'action_view' module BrighterPlanet module Purchase module Characterization + extend ActionView::Helpers::TextHelper + def self.included(base) base.send :include, Characterizable base.characterize do has :cost # cost before tax has :purchase_amount # full purchase amount, including tax has :tax # tax portion of purchase has :date has :merchant - has :merchant_category has :industry + + has :merchant_category do + displays { |mc| mc.name } + end + has :merchant_category_industries do + displays { |mci| pluralize(mci.count, 'merchant category') } + end + has :trade_industry_ratios do + displays { |tir| pluralize(tir.count, 'trade industry ratio') } + end + has :non_trade_industry_ratios do + displays { |ntir| pluralize(ntir.count, 'non-trade industry ratio') } + end + has :product_line_ratios do + displays { |plr| pluralize(plr.count, 'product line ratio') } + end + has :product_line_industry_product_ratios do + displays { |plipr| pluralize(plipr.count, 'product line industry product ratio') } + end + has :industry_product_ratios do + displays { |ipr| pluralize(ipr.count, 'industry product ratio') } + end + has :industry_ratios do + displays { |ir| pluralize(ir.count, 'industry ratio') } + end + has :industry_sector_ratios do + displays { |isr| pluralize(isr.count, 'industry sector ratio') } + end + has :industry_sector_shares do + displays { |isr| pluralize(isr.count, 'industry sector share') } + end + has :sector_shares do + displays { |isr| "#{isr.size}-element sector shares vector" } + end + has :sector_direct_requirements do + displays { |sdr| "#{sdr.row_size}x#{sdr.column_size} sector direct requirements matrix" } + end + has :economic_flows do + displays { |ef| "#{ef.size}-element economic flows vector" } + end + has :impact_vectors do + displays { |iv| "#{iv.row_size}x#{iv.column_size} impact vector" } + end + has :impacts do + displays { |i| "#{i.size}-element impacts vector" } + end end base.add_implicit_characteristics end end end