bukku_rails 0.1.2 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a006616b833583b37331723b5905afbb2db5d1486a43e7d737e7163aa9146db2
4
- data.tar.gz: '08b80379615978eb56a083e2bc6bdd6d886d5e7fc3f18734e07b47af78a09f31'
3
+ metadata.gz: 155357b4ca282d160dcb92f22b77c6ceed853d4df539470838b02846809af42a
4
+ data.tar.gz: e59657c28be7b60904edb9dda405435d7b8216a61610f0c3f5603b0fcd02137f
5
5
  SHA512:
6
- metadata.gz: 71aae60f0f3f73cac249a5596be4fac6b2e983a0bc96fc03230af12a5f2c18de534021d6908bdc13016b8ef95735acf7035ed105b94f2d2daaf9eb4a265e6b7f
7
- data.tar.gz: 1b4bea76f7e23fd4f2b87188faa5c5285f86c31e189b9af60c7e39ebce38001f9dd9137ff72bf4fa064a7e69526efa823e30af527acf9ab231d5a13e19706ff6
6
+ metadata.gz: 27e5a345e5dd38ba2e2a5d05d5d52d6f3fd83ac9815be509df718ee08ecba3cd14227f8fc09d818985171f6b23c8d98b02f3201a930b392dfdc59399ca12c1a0
7
+ data.tar.gz: 41a28319db712943fb2181c7793d7eb674414b071cf7632a04cfae617603605b09467608864f19b3f1820db8e42041187c6b21dd714d25658f2060a4a31c42f7
data/README.md CHANGED
@@ -8,9 +8,19 @@ Take a look at [Bukku's API](https://developers.bukku.my) to know what data you
8
8
 
9
9
  ## Installation
10
10
 
11
- Add the gen into your Gemfile like so:
11
+ ### Rails
12
12
 
13
- `gem "bukku_rails`
13
+ Add the gem into your Gemfile like so:
14
+
15
+ `gem "bukku_rails"`
16
+
17
+ ### Ruby
18
+
19
+ 1. Install the gem `gem install bukku_rails`
20
+
21
+ 2. Test the gem standalone `irb -r bukku_rails`
22
+
23
+ 3. If your satisfied with the gem usage you can include the gem in your `Gemfile` of your app.
14
24
 
15
25
  ## Usage
16
26
 
@@ -18,9 +28,17 @@ You will need 2 things - your **subdomain** and **API Token**.
18
28
 
19
29
  You can get these after you login into your Bukku account, Control Panel -> Integrations -> Turn ON API Access.
20
30
 
21
- Note: Bukku offers 2 type of access - Staging and Production. You can [email Bukku](mailto:dev@bukku.my) for a Staging account which will be a great way to test your Rails app to see if it is extracting the correct data from Bukku's staging server (exactly the same app but at their staging server). Once you are satisfied you can then use access the Production server where your actual data lives.
31
+ Note: Bukku offers 2 type of access:
32
+
33
+ 1. *Staging* - For testing your app. You can [email Bukku](mailto:dev@bukku.my) for a Staging account which will be a great way to test your Rails app to see if it is extracting the correct data from Bukku's staging server (exactly the same app).
34
+
35
+ 2. *Production* - Your actual Bukku data, where all your data lives.
36
+
37
+ **Bukku Rails** provides usage for both access, under 2 different classes:
38
+
39
+ 1. *Staging* use the `BukkuTest` class, like so `client = BukkuTest.new(domain: "sub-domain", token: "token-from-bukku-fyi")`
22
40
 
23
- **Bukku Rails** provides usage for both access. For Staging use the `BukkuTest` class and actual Production simply use `Bukku` class. Then you can use any of the methods listed in the table below:
41
+ 2. *Production* use `Bukku` class, like so `client = Bukku.new(domain: "sub-domain", token: "token-from-bukku-my")`
24
42
 
25
43
  ### Available Methods
26
44
 
@@ -30,74 +48,74 @@ Just like in Rails the methods follow the singular and plural expression. Method
30
48
 
31
49
  | HTTP Method | Ruby Method | Endpoint |
32
50
  |------------|-------------|----------|
33
- | GET | `get_sales_quotes(**kwargs)` | `/sales/quotes` |
51
+ | GET | `get_sales_quotes(query-parameters)` | `/sales/quotes` |
34
52
  | GET | `get_sales_quote(id)` | `/sales/quotes/:id` |
35
- | GET | `get_sales_orders(**kwargs)` | `/sales/orders` |
53
+ | GET | `get_sales_orders(query-parameters)` | `/sales/orders` |
36
54
  | GET | `get_sales_order(id)` | `/sales/orders/:id` |
37
- | GET | `get_delivery_orders(**kwargs)` | `/sales/delivery_orders` |
55
+ | GET | `get_delivery_orders(query-parameters)` | `/sales/delivery_orders` |
38
56
  | GET | `get_delivery_order(id)` | `/sales/delivery_orders/:id` |
39
- | GET | `get_invoices(**kwargs)` | `/sales/invoices` |
57
+ | GET | `get_invoices(query-parameters)` | `/sales/invoices` |
40
58
  | GET | `get_invoice(id)` | `/sales/invoices/:id` |
41
- | GET | `get_sales_credit_notes(**kwargs)` | `/sales/credit_notes` |
59
+ | GET | `get_sales_credit_notes(query-parameters)` | `/sales/credit_notes` |
42
60
  | GET | `get_sales_credit_note(id)` | `/sales/credit_notes/:id` |
43
- | GET | `get_sales_payments(**kwargs)` | `/sales/payments` |
61
+ | GET | `get_sales_payments(query-parameters)` | `/sales/payments` |
44
62
  | GET | `get_sales_payment(id)` | `/sales/payments/:id` |
45
- | GET | `get_sales_refunds(**kwargs)` | `/sales/refunds` |
63
+ | GET | `get_sales_refunds(query-parameters)` | `/sales/refunds` |
46
64
  | GET | `get_sales_refund(id)` | `/sales/refunds/:id` |
47
65
 
48
66
  #### Purchases
49
67
 
50
68
  | HTTP Method | Ruby Method | Endpoint |
51
69
  |------------|-------------|----------|
52
- | GET | `get_purchase_orders(**kwargs)` | `/purchases/orders` |
70
+ | GET | `get_purchase_orders(query-parameters)` | `/purchases/orders` |
53
71
  | GET | `get_purchase_order(id)` | `/purchases/orders/:id` |
54
- | GET | `get_received_notes(**kwargs)` | `/purchases/goods_received_notes` |
72
+ | GET | `get_received_notes(query-parameters)` | `/purchases/goods_received_notes` |
55
73
  | GET | `get_received_note(id)` | `/purchases/goods_received_notes/:id` |
56
- | GET | `get_bills(**kwargs)` | `/purchases/bills` |
74
+ | GET | `get_bills(query-parameters)` | `/purchases/bills` |
57
75
  | GET | `get_bill(id)` | `/purchases/bills/:id` |
58
- | GET | `get_purchases_credit_notes(**kwargs)` | `/purchases/credit_notes` |
76
+ | GET | `get_purchases_credit_notes(query-parameters)` | `/purchases/credit_notes` |
59
77
  | GET | `get_purchases_credit_note(id)` | `/purchases/credit_notes/:id` |
60
- | GET | `get_purchases_payments(**kwargs)` | `/purchases/payments` |
78
+ | GET | `get_purchases_payments(query-parameters)` | `/purchases/payments` |
61
79
  | GET | `get_purchases_payments(id)` | `/purchases/payments/:id` |
62
- | GET | `get_purchases_refunds(**kwargs)` | `/purchases/refunds` |
80
+ | GET | `get_purchases_refunds(query-parameters)` | `/purchases/refunds` |
63
81
  | GET | `get_purchases_refund(id)` | `/purchases/refunds/:id` |
64
82
 
65
83
  #### Banking
66
84
 
67
85
  | HTTP Method | Ruby Method | Endpoint |
68
86
  |------------|-------------|----------|
69
- | GET | `get_banking_incomes(**kwargs)` | `/banking/incomes` |
87
+ | GET | `get_banking_incomes(query-parameters)` | `/banking/incomes` |
70
88
  | GET | `get_banking_income(id)` | `/banking/incomes/:id` |
71
- | GET | `get_banking_expenses(**kwargs)` | `/banking/expenses` |
89
+ | GET | `get_banking_expenses(query-parameters)` | `/banking/expenses` |
72
90
  | GET | `get_banking_expense(id)` | `/banking/expenses/:id` |
73
- | GET | `get_transfers(**kwargs)` | `/banking/transfers` |
91
+ | GET | `get_transfers(query-parameters)` | `/banking/transfers` |
74
92
  | GET | `get_transfer(id)` | `/banking/transfers/:id` |
75
93
 
76
94
  #### Contacts
77
95
 
78
96
  | HTTP Method | Ruby Method | Endpoint |
79
97
  |------------|-------------|----------|
80
- | GET | `get_contacts(**kwargs)` | `/contacts` |
98
+ | GET | `get_contacts(query-parameters)` | `/contacts` |
81
99
  | GET | `get_contact(id)` | `/contacts/:id` |
82
- | GET | `get_contact_groups(**kwargs)` | `/contacts/groups` |
100
+ | GET | `get_contact_groups(query-parameters)` | `/contacts/groups` |
83
101
  | GET | `get_contact_group(id)` | `/contacts/groups/:id` |
84
102
 
85
103
  #### Products
86
104
 
87
105
  | HTTP Method | Ruby Method | Endpoint |
88
106
  |------------|-------------|----------|
89
- | GET | `get_products(**kwargs)` | `/products` |
107
+ | GET | `get_products(query-parameters)` | `/products` |
90
108
  | GET | `get_product(id)` | `/products/:id` |
91
- | GET | `get_product_groups(**kwargs)` | `/products/groups` |
109
+ | GET | `get_product_groups(query-parameters)` | `/products/groups` |
92
110
  | GET | `get_product_group(id)` | `/products/groups/:id` |
93
111
 
94
112
  #### Accounting
95
113
 
96
114
  | HTTP Method | Ruby Method | Endpoint |
97
115
  |------------|-------------|----------|
98
- | GET | `get_journal_entries(**kwargs)` | `/journal_entries` |
116
+ | GET | `get_journal_entries(query-parameters)` | `/journal_entries` |
99
117
  | GET | `get_journal_entry(id)` | `/journal_entries/:id` |
100
- | GET | `get_accounts` | `/accounts` |
118
+ | GET | `get_accounts(query-parameters)` | `/accounts` |
101
119
  | GET | `get_account(id)` | `/accounts/:id` |
102
120
 
103
121
  ### Examples
data/lib/bukku.rb CHANGED
@@ -202,8 +202,8 @@ class Bukku < Client
202
202
  end
203
203
 
204
204
  # Account
205
- def get_accounts
206
- get '/accounts'
205
+ def get_accounts(**kwargs)
206
+ get '/accounts', query: kwargs
207
207
  end
208
208
 
209
209
  def get_account(id)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BukkuRails
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.6'
5
5
  end
data/lib/bukku_test.rb CHANGED
@@ -193,20 +193,20 @@ class BukkuTest < Client
193
193
 
194
194
  ## ACCOUNTING
195
195
  # Journal Entries
196
- def journal_entries(**kwargs)
196
+ def get_journal_entries(**kwargs)
197
197
  get '/journal_entries', query: kwargs
198
198
  end
199
199
 
200
- def journal_entry(id)
200
+ def get_journal_entry(id)
201
201
  get "/journal_entries/#{id}"
202
202
  end
203
203
 
204
204
  # Account
205
- def accounts
206
- get '/accounts'
205
+ def get_accounts(**kwargs)
206
+ get '/accounts', query: kwargs
207
207
  end
208
208
 
209
- def account(id)
209
+ def get_account(id)
210
210
  get "/accounts/#{id}"
211
211
  end
212
212
  end
data/lib/client.rb CHANGED
@@ -37,6 +37,12 @@ class Client
37
37
 
38
38
  http = Net::HTTP.new(uri.host, uri.port)
39
39
  http.use_ssl = uri.instance_of?(URI::HTTPS)
40
+
41
+ # Add the 2 lines below because development keeps on failing SSL CRL checks
42
+ # Check this article for explanation: https://dev.to/madhuhari188/how-we-solved-unable-to-get-certificate-crl-in-rails-a-debugging-story-2pna
43
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
44
+ http.verify_callback = ->(_preverify_ok, _store_ctx) { true }
45
+
40
46
  # Uncomment below for debuging purpose to see the payload that was sent.
41
47
  # http.set_debug_output($stdout)
42
48
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bukku_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muzaffar Ariff
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-12-11 00:00:00.000000000 Z
11
+ date: 2026-01-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Use Rails conventions to call Bukku API requests.
14
14
  email: