Class: Usps::Support::Models::Hq::Members::Member
Overview
Constant Summary
collapse
- INVALID_RANKS =
[0, 99].freeze
Instance Method Summary
collapse
allow_hq_database_edits?, ignore_type_column_sti!
Instance Method Details
#accounts ⇒ Object
64
|
# File 'lib/usps/support/models/hq/members/member.rb', line 64
def accounts = (squadron_jobs.pluck(:account) + [account]).uniq.map(&:to_s)
|
#admin? ⇒ Boolean
89
|
# File 'lib/usps/support/models/hq/members/member.rb', line 89
def admin? = certificate.in?(ENV['ADMIN_CERTIFICATES'].split(','))
|
#as_associate ⇒ Object
61
|
# File 'lib/usps/support/models/hq/members/member.rb', line 61
def as_associate = clone.tap { it.instance_variable_set(:@associate, true) }
|
#associate? ⇒ Boolean
62
|
# File 'lib/usps/support/models/hq/members/member.rb', line 62
def associate? = @associate.present?
|
#district_accounts ⇒ Object
66
|
# File 'lib/usps/support/models/hq/members/member.rb', line 66
def district_accounts = district.squadrons.pluck(:account)
|
#full_name ⇒ Object
78
79
80
81
82
83
|
# File 'lib/usps/support/models/hq/members/member.rb', line 78
def full_name
[
[rank, first, last].join(' '),
grade.presence
].compact.join(', ')
end
|
#mailing_address ⇒ Object
91
92
93
94
95
96
97
98
|
# File 'lib/usps/support/models/hq/members/member.rb', line 91
def mailing_address
[
full_name,
address1,
address2,
["#{city}, #{state} #{zip5}", zip4].compact_blank.join('-')
].compact_blank
end
|
#rank ⇒ Object
68
69
70
71
72
73
74
75
76
|
# File 'lib/usps/support/models/hq/members/member.rb', line 68
def rank
return @rank if @rank
raw_rank = read_attribute(:rank)
return if raw_rank.in?(INVALID_RANKS)
normalized_rank = raw_rank.to_s.rjust(2, '0')
@rank = Members::Rank.find(normalized_rank).RankAbbr
end
|
#simple_name ⇒ Object
85
|
# File 'lib/usps/support/models/hq/members/member.rb', line 85
def simple_name = [first, last].join(' ')
|
#sort_name ⇒ Object
87
|
# File 'lib/usps/support/models/hq/members/member.rb', line 87
def sort_name = "#{last}, #{first}"
|