Sha256: 47a974030313c1013cee094638c1c87d48bcf4493e8c2b77ea35b8955cdde539

Contents?: true

Size: 851 Bytes

Versions: 2

Compression:

Stored size: 851 Bytes

Contents

require 'refinery/core/base_model'
require 'filters_spam'

module Refinery
  module Inquiries
    class Inquiry < Refinery::Core::BaseModel

      if Inquiries.config.filter_spam
        filters_spam message_field:    :message,
                     email_field:      :email,
                     author_field:     :name,
                     other_fields:     [:phone],
                     extra_spam_words: %w()
      end

      validates :name, presence: true, length: { maximum: 255 }
      validates :email, format: {
        with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
      }, length: { maximum: 255 }
      validates :message, presence: true

      default_scope { order('created_at DESC') }

      def self.latest(number = 7, include_spam = false)
        include_spam ? limit(number) : ham.limit(number)
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
refinerycms-inquiries-3.0.1 app/models/refinery/inquiries/inquiry.rb
refinerycms-inquiries-3.0.0 app/models/refinery/inquiries/inquiry.rb