class WCC::Contentful::Model::SectionContactForm
Public Instance Methods
page()
click to toggle source
# File lib/wcc/contentful/model/section_contact_form.rb, line 10 def page ::WCC::Contentful::Model::Page.find_by(sections: { id: id }) end
send_email(data)
click to toggle source
# File lib/wcc/contentful/model/section_contact_form.rb, line 4 def send_email(data) save_contact_form(data) ::WCC::Contentful::App::ContactMailer.contact_form_email(data[:notification_email], data).deliver end
to_address(email_object_id: nil)
click to toggle source
# File lib/wcc/contentful/model/section_contact_form.rb, line 14 def to_address(email_object_id: nil) return email_address(email_model(email_object_id)) if email_object_id.present? notification_email end
Private Instance Methods
email_address(entry)
click to toggle source
# File lib/wcc/contentful/model/section_contact_form.rb, line 22 def email_address(entry) return entry.email if defined?(entry.email) raise ArgumentError, 'email is not defined on this entry' end
email_model(email_object_id)
click to toggle source
# File lib/wcc/contentful/model/section_contact_form.rb, line 28 def email_model(email_object_id) raise ArgumentError, 'contentful entry does not exist' unless entry = ::WCC::Contentful::Model.find(email_object_id, options: sys.context.to_h) entry end
save_contact_form(data)
click to toggle source
# File lib/wcc/contentful/model/section_contact_form.rb, line 35 def save_contact_form(data) return unless ::WCC::Contentful::App.db_connected? return unless ::ActiveRecord::Base.connection .table_exists? 'wcc_contentful_app_contact_form_submissions' ::WCC::Contentful::App::ContactFormSubmission.create!(form_id: id, data: data) end