Use attr_reader instead of shared instance variables
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
Râu Cao 2023-09-07 19:21:00 +02:00
parent 2ba0116ca6
commit 1949f1876f
Signed by: raucao
GPG Key ID: 15E65F399D084BA9
3 changed files with 6 additions and 4 deletions

View File

@ -1,7 +1,7 @@
module BtcpayManager
class FetchLightningWalletBalance < BtcpayManagerService
def call
res = get "stores/#{@store_id}/lightning/BTC/balance"
res = get "stores/#{store_id}/lightning/BTC/balance"
{
balance: res["offchain"]["local"].to_i / 1000 # msats to sats

View File

@ -1,7 +1,7 @@
module BtcpayManager
class FetchOnchainWalletBalance < BtcpayManagerService
def call
res = get "stores/#{@store_id}/payment-methods/onchain/BTC/wallet"
res = get "stores/#{store_id}/payment-methods/onchain/BTC/wallet"
{
balance: (res["balance"].to_f * 100000000).to_i, # BTC to sats

View File

@ -2,6 +2,8 @@
# API Docs: https://docs.btcpayserver.org/API/Greenfield/v1/
#
class BtcpayManagerService < ApplicationService
attr_reader :base_url, :store_id, :auth_token
def initialize
@base_url = Setting.btcpay_api_url
@store_id = Setting.btcpay_store_id
@ -11,10 +13,10 @@ class BtcpayManagerService < ApplicationService
private
def get(endpoint)
res = Faraday.get("#{@base_url}/#{endpoint}", {}, {
res = Faraday.get("#{base_url}/#{endpoint}", {}, {
"Content-Type" => "application/json",
"Accept" => "application/json",
"Authorization" => "token #{@auth_token}"
"Authorization" => "token #{auth_token}"
})
JSON.parse(res.body)