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
59
|
# File 'lib/usps/support/models/hq/members/member.rb', line 59
def accounts = (squadron_jobs.pluck(:account) + [account]).uniq.map(&:to_s)
|
#admin? ⇒ Boolean
84
|
# File 'lib/usps/support/models/hq/members/member.rb', line 84
def admin? = certificate.in?(ENV['ADMIN_CERTIFICATES'].split(','))
|
#as_associate ⇒ Object
56
|
# File 'lib/usps/support/models/hq/members/member.rb', line 56
def as_associate = clone.tap { it.instance_variable_set(:@associate, true) }
|
#associate? ⇒ Boolean
57
|
# File 'lib/usps/support/models/hq/members/member.rb', line 57
def associate? = @associate.present?
|
#district_accounts ⇒ Object
61
|
# File 'lib/usps/support/models/hq/members/member.rb', line 61
def district_accounts = district.squadrons.pluck(:account)
|
#full_name ⇒ Object
73
74
75
76
77
78
|
# File 'lib/usps/support/models/hq/members/member.rb', line 73
def full_name
[
[rank, first, last].join(' '),
grade.presence
].compact.join(', ')
end
|
#mailing_address ⇒ Object
86
87
88
89
90
91
92
93
|
# File 'lib/usps/support/models/hq/members/member.rb', line 86
def mailing_address
[
full_name,
address1,
address2,
["#{city}, #{state} #{zip5}", zip4].compact_blank.join('-')
].compact_blank
end
|
#rank ⇒ Object
63
64
65
66
67
68
69
70
71
|
# File 'lib/usps/support/models/hq/members/member.rb', line 63
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
80
|
# File 'lib/usps/support/models/hq/members/member.rb', line 80
def simple_name = [first, last].join(' ')
|
#sort_name ⇒ Object
82
|
# File 'lib/usps/support/models/hq/members/member.rb', line 82
def sort_name = "#{last}, #{first}"
|