clarion/app/models/concerns/proposable.rb

31 lines
717 B
Ruby
Raw Permalink Normal View History

module Proposable
extend ActiveSupport::Concern
included do
has_one :proposition, as: :proposable, dependent: :destroy
has_one :proposer, through: :proposition
2015-08-20 01:42:35 +03:00
delegate :email, to: :proposer, prefix: true
2015-10-19 00:47:39 +03:00
delegate :confirm!, to: :proposition
scope :confirmed, -> { where.not(propositions: {confirmed_at: nil}) }
Proposition.defined_enums["status"].keys.each do |status|
2015-10-19 00:47:39 +03:00
scope status.to_sym, -> { where(propositions: {status: Proposition.defined_enums["status"][status]}) }
end
end
2015-08-20 01:42:35 +03:00
def proposable_type
self.class.model_name.human
end
def notification_email
conference.email
end
def proposable_title
title
end
def proposable_description
end
end