Sha256: 9cea270b6ddeaf1f5653c058fe7e107f7bc187131dc1160dfdad0c74049e5729

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

module OpenConferenceWare
  class SpeakerMailer < ActionMailer::Base

    # Provide ::raw_snippet_for
    include SnippetsHelper

    # Provide ::strip_tags
    include ActionView::Helpers::SanitizeHelper
    extend  ActionView::Helpers::SanitizeHelper::ClassMethods


    def self.configured?
      if !Rails.env.test? && (OpenConferenceWare.email.blank? || OpenConferenceWare.email['action_mailer'].blank? || OpenConferenceWare.email['default_from_address'] == 'test')
        return false
      else
        return true
      end
    end

    def clean_snippet(slug)
      text = raw_snippet_for(slug)
      text = text.gsub(/<br>/, "\n")
      strip_tags(text)
    end

    def speaker_email(subject_snippet, body_snippet, proposal)
      unless self.class.configured?
        raise ArgumentError, "Email settings must be set in 'config/secrets.yml'"
      end

      @proposal = proposal
      @body_text  = clean_snippet(body_snippet)

      mail(
        to: proposal.mailto_emails,
        bcc: OpenConferenceWare.default_bcc_address,
        from: OpenConferenceWare.default_from_address,
        subject: clean_snippet(subject_snippet),
        template_name: 'speaker_email'
      )
    end

    def speaker_accepted_email(proposal)
      speaker_email('proposals_acceptance_email_subject', 'proposals_acceptance_email_text', proposal)
    end

    def speaker_rejected_email(proposal)
      speaker_email('proposals_rejected_email_subject', 'proposals_rejected_email_text', proposal)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
open_conference_ware-1.0.0.pre4 app/mailers/open_conference_ware/speaker_mailer.rb
open_conference_ware-1.0.0.pre3 app/mailers/open_conference_ware/speaker_mailer.rb
open_conference_ware-1.0.0.pre2 app/mailers/open_conference_ware/speaker_mailer.rb
open_conference_ware-1.0.0.pre1 app/mailers/open_conference_ware/speaker_mailer.rb