Sha256: ff520775597dde855626fa983a4b98beb53cc4bcfc6fe7a072ab189bfc24cd73

Contents?: true

Size: 1.55 KB

Versions: 8

Compression:

Stored size: 1.55 KB

Contents

module Phcmemberspro
  class Member::Listing < ApplicationRecord

    # Clean URL Initialize
    extend FriendlyId

    # Add Paper Trail
    has_paper_trail

    # Model Relationships
    belongs_to :profile, class_name: 'Phcmemberspro::Member::Profile'
    has_many :categorylistings, class_name: 'Phcmemberspro::Directory::Categorylisting', dependent: :destroy
    has_many :categories, class_name: 'Phcmemberspro::Directory::Category', :through => :categorylistings

    # Validation for Form Fields
    validates :mbcompanyname,
    presence: true,
    length: { minimum: 2 }

    validates :mbcontactname,
    presence: true,
    length: { minimum: 2 }

    validates :mbaddressl1,
    length: { minimum: 3 }

    validates :mbcity,
    presence: true,
    length: { minimum: 3 }

    validates :mbcountry,
    presence: true,
    length: { minimum: 2 }

    validates :mbprovince,
    presence: true,
    length: { minimum: 2 }

    validates :mbpostalcode,
    presence: true,
    length: { minimum: 3 }

    validates :mbcontactemail,
    presence: true,
    length: { minimum: 3 }

    validates :mbwebsite,
    presence: true,
    length: { minimum: 6 }

    validates :mbphone,
    presence: true,
    format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: xxx-xxx-xxxx" }

    # Clean URL Define
    friendly_id :phcmembers_listings_slug, use: :slugged

    # Define for Multiple Records
    def phcmembers_listings_slug
      [
        [:id, :mbcompanyname, :mbcontactname]
      ]
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
phcmemberspro-20.5.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.4.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.3.1 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.3.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.2.2 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.2.1 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.2.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-20.1.0 app/models/phcmemberspro/member/listing.rb