21 lines
658 B
Ruby
21 lines
658 B
Ruby
|
|
module MembersService
|
||
|
|
class PlanBenefits
|
||
|
|
|
||
|
|
def initialize(member)
|
||
|
|
@member = member
|
||
|
|
if @member.present?
|
||
|
|
@plan_id = @member.id_card_plan_id
|
||
|
|
else
|
||
|
|
raise ArgumentError, "Member not found."
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
def call
|
||
|
|
Baclight::IdCardPlan.joins(:baclight_id_card_plan_benefits)
|
||
|
|
.select('id_card_plans.id, id_card_plans.title, id_card_plan_benefits.id, id_card_plan_benefits.sequence, id_card_plan_benefits.benefit, id_card_plan_benefits.benefit_desc')
|
||
|
|
.where(id: @plan_id)
|
||
|
|
.distinct
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|