Sha256: 167ddbe6a7a3f2ab2482c271b02a3b6f7ff0d93d9c94cc895e7474ac8aec3da4

Contents?: true

Size: 441 Bytes

Versions: 2

Compression:

Stored size: 441 Bytes

Contents

module Nameable
  include FieldsValidator
  extend ActiveSupport::Concern

  included do
    load_required_attributes(*%w{firstname lastname})
    validate_required_attributes
  end

  public

  def full_name
    "#{firstname} #{lastname}"
  end

  def proper_name
    "#{lastname.upcase}, #{firstname}"
  end

  private

  def required_database_fields
    result=defined?(super) ? super : []
    result+=[:firstname, :lastname]
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
morse_nameable-1.0.2 lib/morse_nameable/nameable.rb
morse_nameable-1.0.0 lib/morse_nameable/nameable.rb