Sha256: 582f53fb90b1682aecd9d3c9aba8d86e6d22fca6bf97d470949ba7343283a05b
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
# typed: strict # frozen_string_literal: true require_relative "crypto/crypto_base" require_relative "crypto/crypto" module LunchMoney # https://lunchmoney.dev/#crypto class CryptoCalls < ApiCall sig { returns(T.any(T::Array[LunchMoney::Crypto], LunchMoney::Errors)) } def crypto response = get("crypto") api_errors = errors(response) return api_errors if api_errors.present? response.body[:crypto].map do |crypto| LunchMoney::Crypto.new(**crypto) end end sig do params( crypto_id: Integer, name: T.nilable(String), display_name: T.nilable(String), institution_name: T.nilable(String), balance: T.nilable(String), currency: T.nilable(String), ).returns(T.any(LunchMoney::CryptoBase, LunchMoney::Errors)) end def update_crypto(crypto_id, name: nil, display_name: nil, institution_name: nil, balance: nil, currency: nil) params = clean_params({ name:, display_name:, institution_name:, balance:, currency:, }) response = put("crypto/manual/#{crypto_id}", params) api_errors = errors(response) return api_errors if api_errors.present? LunchMoney::CryptoBase.new(**response.body) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lunchmoney-1.0.0 | lib/lunchmoney/crypto/crypto_calls.rb |
lunchmoney-0.10.0 | lib/lunchmoney/crypto/crypto_calls.rb |