@@ -23,14 +23,31 @@ If bundler is not being used to manage dependencies, install the gem by executin
2323- [x] Create Balances
2424- [x] Find Balance
2525- [x] Search Balances
26- - [ ] Create Transaction
27- - [ ] Find Transaction
28- - [ ] Search Transactions
29- - [ ] Use Dry Schema to validate inputs
26+ - [x] Create Transaction
27+ - [ ] Multiple sources / destinations Transaction
28+ - [ ] Refund Transaction
29+ - [ ] Commit inflight Transaction
30+ - [ ] Void inflight Transaction
31+ - [x] Find Transaction
32+ - [x] Search Transactions
33+ - [ ] Handler notifications
34+ - [ ] Create Balance Monitor
35+ - [ ] Find Balance Monitor
36+ - [ ] Update Balance Monitor
37+ - [ ] Backup endpoint
38+ - [ ] Backup to S3 endpoint
39+ - [ ] Add Search Contract schema for each resource using they own search attributes
40+ - [ ] Search Result should convert document resul into resource class
41+ - [x] Use Dry Monads to get success / failure output
42+ - [x] Use Dry Validation to validate inputs
43+ - [ ] Use Dry Schema instead OpenStruct to handle with resource attributes
44+ - [ ] Use Dry Configuration to better config DSL
3045
3146## Usage
3247
3348``` ruby
49+ transaction = Blnk ::Transaction .find ' transaction_id'
50+
3451require ' blnk'
3552
3653# client config
@@ -39,24 +56,40 @@ Blnk.address = '192.168.2.7:5001'
3956Blnk .secret_token = ' your_strong_secret_key'
4057Blnk .search_api_key = Blnk .secret_token
4158
42- # ledgers integration
59+ # Ledgers
4360
4461ledger = Blnk ::Ledger .create(name: ' foobar' )
4562ledger = Blnk ::Ledger .find ' ledger_id'
4663ledgers = Blnk ::Ledger .all
4764
4865ledgers = Blnk ::Ledger .search(q: ' *' )
4966
50- # for search fields check the documentation
51- https: // docs.blnkledger.com/ ledger/ tutorial/ search/ overview
52-
53-
54- # Balance integrations
67+ # Balances
5568balance = Blnk ::Balance .find ' balance_id'
5669balance = Blnk ::Balance .create(ledger_id: ' ledger_id' , currency: ' USD' )
5770
71+ balances = Blnk ::Balance .search(q: ' *' )
72+
73+ # Transactions
74+ transaction = Blnk ::Transaction .find ' transaction_id'
75+ transaction = Blnk ::Transaction .create(
76+ amount: 75 ,
77+ reference: ' ref_005' ,
78+ currency: ' BRLX' ,
79+ precision: 100 ,
80+ source: ' @world' ,
81+ destination: ' bln_469f93bc-40e9-4e0e-b6ab-d11c3638c15d' ,
82+ description: ' For fees' ,
83+ allow_overdraft: true
84+ )
85+
86+ transaction = Blnk ::Transaction .search q: ' *'
5887```
5988
89+ ## Result
90+
91+ All methods return a Dry::Monad::Result, so you can use ``` .failure? ``` to check if method was executed and returned a failure (can be validation or a server error). ``` .success? ``` to check if method was executed with successful and access the data from the failure or successful result using ``` .value! ``` . You can check on the dry-monad gem to see other options on Result.
92+
6093
6194## Development
6295
0 commit comments