Sha256: 9dd9fb61cdba340a3733165da95dfde46d509ca22e0ad76ae87b7edb7573e86a

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

module Enjoy::Feedback
  module Models
    module ContactMessage
      extend ActiveSupport::Concern
      include Enjoy::Model

      include Enjoy::Feedback.orm_specific('ContactMessage')

      included do
        if Enjoy::Feedback.config.simple_captcha_support
          include SimpleCaptcha::ModelHelpers
          apply_simple_captcha message: Enjoy::Feedback.configuration.captcha_error_message
        end

        validates_email_format_of :email, unless: 'email.blank?'
        if Enjoy::Feedback.config.message_required
          validates_presence_of :content
        end
        validate do
          if email.blank? && phone.blank?
            errors.add(:email, Enjoy::Feedback.configuration.no_contact_info_error_message)
          end
        end

        after_create do
          mailer_class.send(mailer_method, self).deliver_now if send_emails?
        end
      end

      def send_emails?
        true
      end

      def mailer_class
        Enjoy::Feedback::ContactMailer
      end

      def mailer_method
        :new_message_email
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
enjoy_cms_feedback-0.4.1 lib/enjoy/feedback/models/contact_message.rb
enjoy_cms_feedback-0.4.0 lib/enjoy/feedback/models/contact_message.rb
enjoy_cms_feedback-0.4.0.beta3 lib/enjoy/feedback/models/contact_message.rb