Sha256: b20bfb8578a3a4153f6376c043499e71e5fda4d22248f393b842a5f0d7170428
Contents?: true
Size: 869 Bytes
Versions: 2
Compression:
Stored size: 869 Bytes
Contents
module Nameable extend ActiveSupport::Concern include FieldsValidator included do validate_required_attributes end class_methods do def required_attributes result=defined?(super) ? super : [] result+=required_nameable_attributes end def required_database_fields result=defined?(super) ? super : [] result+=[:firstname, :lastname] end def required_nameable_attributes [:firstname,:lastname] end end public def first_name firstname end def first_name=(thing) self.firstname=thing end def full_name "#{firstname} #{lastname}" end def proper_name "#{lastname.upcase}, #{firstname}" end def surname lastname end def surname=(thing) self.lastname=thing end def title return super if defined?(super) full_name end private end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
morse_nameable-1.2.1 | lib/nameable.rb |
morse_nameable-1.2.0 | lib/nameable.rb |