Skip to content

Commit 0bcf004

Browse files
committed
allow overriding stripe client in runtime
1 parent cd16439 commit 0bcf004

File tree

1 file changed

+11
-19
lines changed

1 file changed

+11
-19
lines changed
Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,35 @@
11
defmodule Algora.Stripe do
22
@moduledoc false
33

4+
def client(module) do
5+
:algora
6+
|> Application.get_env(:stripe_client, Stripe)
7+
|> Module.concat(module |> Module.split() |> List.last())
8+
end
9+
410
defmodule Invoice do
511
@moduledoc false
6-
@stripe Application.compile_env(:algora, :stripe_client, Stripe)
712

8-
def create(params) do
9-
@stripe.Invoice.create(params)
10-
end
13+
def create(params), do: Algora.Stripe.client(__MODULE__).create(params)
1114

12-
def pay(invoice_id, params) do
13-
@stripe.Invoice.pay(invoice_id, params)
14-
end
15+
def pay(invoice_id, params), do: Algora.Stripe.client(__MODULE__).pay(invoice_id, params)
1516
end
1617

1718
defmodule Invoiceitem do
1819
@moduledoc false
19-
@stripe Application.compile_env(:algora, :stripe_client, Stripe)
2020

21-
def create(params) do
22-
@stripe.Invoiceitem.create(params)
23-
end
21+
def create(params), do: Algora.Stripe.client(__MODULE__).create(params)
2422
end
2523

2624
defmodule Transfer do
2725
@moduledoc false
28-
@stripe Application.compile_env(:algora, :stripe_client, Stripe)
2926

30-
def create(params) do
31-
@stripe.Transfer.create(params)
32-
end
27+
def create(params), do: Algora.Stripe.client(__MODULE__).create(params)
3328
end
3429

3530
defmodule Session do
3631
@moduledoc false
37-
@stripe Application.compile_env(:algora, :stripe_client, Stripe)
3832

39-
def create(params) do
40-
@stripe.Session.create(params)
41-
end
33+
def create(params), do: Algora.Stripe.client(__MODULE__).create(params)
4234
end
4335
end

0 commit comments

Comments
 (0)