Module: Wallets::HasWallets
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/wallets/models/concerns/has_wallets.rb
Overview
Adds multi-wallet ownership to an Active Record model. One owner can have one wallet per asset code, with a default “main wallet” exposed via ‘owner.wallet` and `owner.main_wallet`.
Instance Method Summary collapse
- #find_wallet(asset_code = nil) ⇒ Object
- #main_wallet ⇒ Object
- #wallet(asset_code = nil) ⇒ Object
- #wallet?(asset_code = nil) ⇒ Boolean
- #wallet_options ⇒ Object
Instance Method Details
#find_wallet(asset_code = nil) ⇒ Object
55 56 57 58 |
# File 'lib/wallets/models/concerns/has_wallets.rb', line 55 def find_wallet(asset_code = nil) normalized_asset_code = normalize_asset_code(asset_code || [:default_asset]) wallets.find_by(asset_code: normalized_asset_code) end |
#main_wallet ⇒ Object
51 52 53 |
# File 'lib/wallets/models/concerns/has_wallets.rb', line 51 def main_wallet wallet([:default_asset]) end |
#wallet(asset_code = nil) ⇒ Object
43 44 45 |
# File 'lib/wallets/models/concerns/has_wallets.rb', line 43 def wallet(asset_code = nil) ensure_wallet(asset_code || [:default_asset]) end |
#wallet?(asset_code = nil) ⇒ Boolean
47 48 49 |
# File 'lib/wallets/models/concerns/has_wallets.rb', line 47 def wallet?(asset_code = nil) find_wallet(asset_code || [:default_asset]).present? end |
#wallet_options ⇒ Object
39 40 41 |
# File 'lib/wallets/models/concerns/has_wallets.rb', line 39 def self.class. end |