Module: Redmineup::ActsAsPriceable::Base

Defined in:
lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb

Instance Method Summary collapse

Instance Method Details

#up_acts_as_priceable(*args) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/redmineup/acts_as_priceable/up_acts_as_priceable.rb', line 4

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