Files
old-holivud2/app/models/concerns/exploitable.rb
2020-05-31 22:38:19 +02:00

25 lines
719 B
Ruby

module Exploitable
extend ActiveSupport::Concern
FIELDS = [:applicable_medium, :territory, :term, :restriction]
included do
FIELDS.each do |field|
belongs_to field, optional: true
define_method "#{field}_value" do
if respond_to?(:contract_template) && contract_template.present?
# If contract template is present, use the value from there
contract_template.public_send("#{field}_value")
else
# Otherwise use the value of the label or the text
field_assoc = public_send(field)
if field_assoc
field_assoc.other? ? public_send("#{field}_text") : field_assoc.label
end
end
end
end
end
end