1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true
class Plan
def self.for(plan_name)
plan = CONFIG[:plans].find { |p| p[:name] == plan_name }
raise "No plan by that name" unless plan
new(plan)
end
def initialize(plan)
@plan = plan
end
def name
@plan[:name]
end
def currency
@plan[:currency]
end
def merchant_account
CONFIG[:braintree][:merchant_accounts].fetch(currency) do
raise "No merchant account for this currency"
end
end
end