Sha256: 1e8d2cc708271a40ef559617412bc7897d5cff21f366fdc3978e1eaf789e0bfc

Contents?: true

Size: 941 Bytes

Versions: 8

Compression:

Stored size: 941 Bytes

Contents

module Redmineup
  module ActsAsPriceable
    module Base
      def up_acts_as_priceable(*args)
        priceable_options = args
        priceable_options << :price if priceable_options.empty?
        priceable_methods = ""
        priceable_options.each do |priceable_attr|
          priceable_methods << %(
            def #{priceable_attr.to_s}_to_s
              object_price(
                self,
                :#{priceable_attr},
                {
                  :decimal_mark => Redmineup::Settings::Money.decimal_separator,
                  :thousands_separator => Redmineup::Settings::Money.thousands_delimiter
                }
              ) if self.respond_to?(:#{priceable_attr})
            end
          )
        end

        class_eval <<-EOV
          include Redmineup::MoneyHelper

          #{priceable_methods}
        EOV
      end
    end
  end
end

ActiveRecord::Base.extend Redmineup::ActsAsPriceable::Base

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
redmineup-1.0.10 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.9 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.8 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.7 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.5 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.4 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.3 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb
redmineup-1.0.2 lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb