Sha256: 2c603b1ea11243a21c3b47496539f4f5eed8b1b1f07398809305e5d7acb1e246

Contents?: true

Size: 1.09 KB

Versions: 4

Compression:

Stored size: 1.09 KB

Contents

module Phcmemberspro
  class Member::Profile < ApplicationRecord

    # Clean URL Initialize
    extend FriendlyId

    # Add Paper Trail
    has_paper_trail

    # Gravatar
    include Gravtastic
    gravtastic :memail

    # Model Relationship
    has_many :addresses, class_name: 'Phcmemberspro::Member::Address'
    has_many :listings, class_name: 'Phcmemberspro::Member::Listing'

    # Validation for Form Fields
    validates :mfirstname,
    presence: true,
    length: { minimum: 1 }

    validates :mlastname,
    presence: true,
    length: { minimum: 1 }

    validates :mtitle,
    length: { minimum: 2 }

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

    validates :mphone,
    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_profiles_slug, use: [:slugged, :finders]

    # Define for Multiple Records
    def phcmembers_profiles_slug
      [
        [:user_name, :mfirstname, :mlastname]
      ]
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
phcmemberspro-21.3.0 app/models/phcmemberspro/member/profile.rb
phcmemberspro-21.2.0 app/models/phcmemberspro/member/profile.rb
phcmemberspro-21.0.0 app/models/phcmemberspro/member/profile.rb
phcmemberspro-20.5.2 app/models/phcmemberspro/member/profile.rb