Sha256: 9f8e802c3440c327697358661466db7f62bb61b85d10f0bb56f706bc6fece8e0

Contents?: true

Size: 681 Bytes

Versions: 9

Compression:

Stored size: 681 Bytes

Contents

module Renalware
  module Personable
    extend ActiveSupport::Concern

    included do
      class_eval do
        validates_presence_of :given_name, :family_name
      end

      def full_name
        "#{given_name} #{family_name}"
      end

      def to_s(format = :default)
        case format
        when :default
          "#{family_name}, #{given_name}"
        when :long
          "#{family_name}, #{given_name} (#{nhs_number})"
        end
      end

      def salutation
        parts = [Renalware.config.salutation_prefix]
        parts << (title.present? ? title : given_name)
        parts << family_name
        parts.compact.join(" ")
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.beta12 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta11 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta10 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta9 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta8 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta7 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta6 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta5 app/models/concerns/renalware/personable.rb
renalware-core-2.0.0.pre.beta4 app/models/concerns/renalware/personable.rb