Sha256: 4b94144078ad46b991dbfe359a1ca0f8b7296e70a5cc694809d20a592c6bd42b

Contents?: true

Size: 898 Bytes

Versions: 1

Compression:

Stored size: 898 Bytes

Contents

class ContactUsWebsite::Contact
  include ActiveModel::Conversion
  include ActiveModel::Validations

  attr_accessor :email, :message, :name, :subject, :website

  validates :email,   :format => { :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i },
                      :presence => true
  validates :message, :presence => true
  validates :name,    :presence => {:if => Proc.new{ContactUsWebsite.require_name}}
  validates :subject, :presence => {:if => Proc.new{ContactUsWebsite.require_subject}}
  validates :website, :presence => {:if => Proc.new{ContactUsWebsite.require_website}}

  def initialize(attributes = {})
    attributes.each do |key, value|
      self.send("#{key}=", value)
    end
  end

  def save
    if self.valid?
      ContactUsWebsite::ContactMailer.contact_email(self).deliver
      return true
    end
    return false
  end
  
  def persisted?
    false
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
contact_us_website-0.4.4.beta app/models/contact_us/contact.rb