Module: MailForm::Delivery
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#deliver! ⇒ Object
Deliver the resource without running any validation.
-
#mail_form_attributes ⇒ Object
Returns a hash of attributes, according to the attributes existent in self.class.mail_attributes.
- #not_spam? ⇒ Boolean
-
#spam? ⇒ Boolean
In development, raises an error if the captcha field is not blank.
Instance Method Details
#deliver! ⇒ Object
Deliver the resource without running any validation.
150 151 152 |
# File 'lib/mail_form/delivery.rb', line 150 def deliver! MailForm::Notifier.contact(self).deliver end |
#mail_form_attributes ⇒ Object
Returns a hash of attributes, according to the attributes existent in self.class.mail_attributes.
156 157 158 159 160 |
# File 'lib/mail_form/delivery.rb', line 156 def mail_form_attributes self.class.mail_attributes.each_with_object({}) do |attr, hash| hash[attr.to_s] = send(attr) end end |
#not_spam? ⇒ Boolean
145 146 147 |
# File 'lib/mail_form/delivery.rb', line 145 def not_spam? !spam? end |
#spam? ⇒ Boolean
In development, raises an error if the captcha field is not blank. This is is good to remember that the field should be hidden with CSS and shown only to robots.
In test and in production, it returns true if all captcha fields are blank, returns false otherwise.
131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/mail_form/delivery.rb', line 131 def spam? self.class.mail_captcha.each do |field| next if send(field).blank? if defined?(Rails) && Rails.env.development? raise ScriptError, "The captcha field #{field} was supposed to be blank" else return true end end false end |