31 lines
1012 B
Ruby
31 lines
1012 B
Ruby
module IdCardQueueService
|
|
class GetQueuedCards
|
|
|
|
def initialize(pl_plan_keys = nil)
|
|
if pl_plan_keys
|
|
@employer_pl_plan_keys = pl_plan_keys
|
|
else
|
|
@employer_pl_plan_keys = IdCard::Setup.active.pluck(:pl_plan_key).join(',')
|
|
end
|
|
end
|
|
|
|
def call
|
|
raw_employers_member_keys = CallStoredProc.new('BrittonGetQueuedIdCardMemberKeysTPA', { PLPlanKeys: @employer_pl_plan_keys }).call.to_ary
|
|
|
|
format_employers_member_keys(raw_employers_member_keys)
|
|
end
|
|
|
|
private
|
|
|
|
def format_employers_member_keys(raw_employers_member_keys)
|
|
key_map = { "PlanKey" => :pl_plan_key, "MemberKeys" => :member_keys }
|
|
|
|
raw_employers_member_keys.map do |hash|
|
|
hash["PlanKey"] = hash["PlanKey"].to_s
|
|
hash["MemberKeys"] = hash["MemberKeys"].split(", ").map(&:to_i)
|
|
hash.transform_keys(key_map)
|
|
end
|
|
end
|
|
|
|
end
|
|
end |