Sha256: a7d483ffdaead468fdfd1fbdc58c6f396ae74735b90a2770c08b51162612127e

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

module Piggybak
  module FormattedChanges
    extend ActiveSupport::Concern

    def new_destroy_changes(type)
      text = "#{self.class.to_s.gsub(/Piggybak::/, '')} ##{self.id} #{type}:<br />"
      self.attributes.each do |k, v|
        if !["upated_at", "created_at", "id", "order_id", "billing_address_id", "shipping_address_id"].include?(k)
          if v.is_a?(BigDecimal)
            text += "#{k}: $#{format("%.2f", v)}<br />"
          else
            text += "#{k}: #{v}<br />"
          end
        end
      end

      return text
    end

    def formatted_changes
      text = "#{self.class.to_s.gsub(/Piggybak::/, '')} ##{self.id} changes:<br />"
      self.changes.each do |k, v|
        if !["updated_at", "id", "billing_address_id", "shipping_address_id", "created_at"].include?(k)
          if v[0].is_a?(BigDecimal)
            text += "#{k}: $#{format("%.2f", v[0])} to $#{format("%.2f", v[1])}<br />"
          else
            text += "#{k}: #{v[0]} to #{v[1]}<br />"
          end
        end
      end

      return text
    end
  end
end

::ActiveRecord::Base.send :include, Piggybak::FormattedChanges

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
piggybak-0.5.5 lib/formatted_changes.rb
piggybak-0.5.4 lib/formatted_changes.rb
piggybak-0.5.3 lib/formatted_changes.rb
piggybak-0.5.2 lib/formatted_changes.rb