seller_ledger-ruby 1.0.0 → 1.5.0
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 +4 -4
- data/CHANGELOG.md +7 -1
- data/Gemfile.lock +7 -1
- data/README.md +2 -2
- data/lib/seller_ledger/client/accounts.rb +38 -0
- data/lib/seller_ledger/client/business.rb +11 -0
- data/lib/seller_ledger/client/connection_transactions.rb +71 -0
- data/lib/seller_ledger/client/connections.rb +29 -0
- data/lib/seller_ledger/client/inventory.rb +29 -0
- data/lib/seller_ledger/client/mileage_transactions.rb +14 -11
- data/lib/seller_ledger/client/transactions.rb +17 -2
- data/lib/seller_ledger/client.rb +20 -9
- data/lib/seller_ledger/errors.rb +6 -0
- data/lib/seller_ledger/version.rb +1 -1
- metadata +21 -4
- data/lib/seller_ledger/client/expense_transactions.rb +0 -31
- data/lib/seller_ledger/client/income_transactions.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39ace969eea3dcd86fe39df969357fd3f7637bb1ec43ef824cdc5d4b2c944cc6
|
4
|
+
data.tar.gz: a13c768184a164d79bb745c54ca3528a1acfd7ed50dd40cef15bbee75af5252d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c32ab845438a1aa9e320f669e06562b9fcbfc02d939bb999b130bd41f878a205ef1cec67e9e3d2dc0d1d79530bd54ae9d4a174782efed25a599ba2bd52f10fb
|
7
|
+
data.tar.gz: e7f726cbd71d87521948ee2a1b62865fce97e819e50c340ebbd501084c72ee32ccbc60cac008394f3b75db9d6f257221ddee1985d2dd08f2b431a2600378dfa6
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
seller_ledger-ruby (1.
|
4
|
+
seller_ledger-ruby (1.2.0)
|
5
5
|
faraday
|
6
6
|
json
|
7
7
|
|
@@ -9,6 +9,7 @@ GEM
|
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
11
|
ast (2.4.2)
|
12
|
+
coderay (1.1.3)
|
12
13
|
diff-lcs (1.5.1)
|
13
14
|
faraday (2.9.0)
|
14
15
|
faraday-net_http (>= 2.0, < 3.2)
|
@@ -16,12 +17,16 @@ GEM
|
|
16
17
|
net-http
|
17
18
|
json (2.7.2)
|
18
19
|
language_server-protocol (3.17.0.3)
|
20
|
+
method_source (1.1.0)
|
19
21
|
net-http (0.4.1)
|
20
22
|
uri
|
21
23
|
parallel (1.24.0)
|
22
24
|
parser (3.3.0.5)
|
23
25
|
ast (~> 2.4.1)
|
24
26
|
racc
|
27
|
+
pry (0.14.2)
|
28
|
+
coderay (~> 1.1)
|
29
|
+
method_source (~> 1.0)
|
25
30
|
racc (1.7.3)
|
26
31
|
rainbow (3.1.1)
|
27
32
|
rake (13.2.1)
|
@@ -61,6 +66,7 @@ PLATFORMS
|
|
61
66
|
x86_64-linux
|
62
67
|
|
63
68
|
DEPENDENCIES
|
69
|
+
pry
|
64
70
|
rake (~> 13.0)
|
65
71
|
rspec (~> 3.0)
|
66
72
|
rubocop (~> 1.21)
|
data/README.md
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
|
5
5
|
Install the gem and add to the application's Gemfile by executing:
|
6
6
|
|
7
|
-
$ bundle add seller_ledger
|
7
|
+
$ bundle add seller_ledger-ruby
|
8
8
|
|
9
9
|
If bundler is not being used to manage dependencies, install the gem by executing:
|
10
10
|
|
11
|
-
$ gem install seller_ledger
|
11
|
+
$ gem install seller_ledger-ruby
|
12
12
|
|
13
13
|
## Usage
|
14
14
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SellerLedger
|
4
|
+
class Client
|
5
|
+
module Accounts
|
6
|
+
def list_accounts(params = {})
|
7
|
+
paginated_request(
|
8
|
+
"/v1/accounts",
|
9
|
+
params,
|
10
|
+
"accounts"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_account(id)
|
15
|
+
validate(id)
|
16
|
+
get("/v1/accounts/#{id}")
|
17
|
+
end
|
18
|
+
|
19
|
+
def list_account_transactions(id, params = {})
|
20
|
+
validate(id)
|
21
|
+
paginated_request(
|
22
|
+
"/v1/accounts/#{id}/transactions",
|
23
|
+
params,
|
24
|
+
"transactions"
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
def list_account_entries(id, params = {})
|
29
|
+
validate(id)
|
30
|
+
paginated_request(
|
31
|
+
"/v1/accounts/#{id}/entries",
|
32
|
+
params,
|
33
|
+
"entries"
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SellerLedger
|
4
|
+
class Client
|
5
|
+
module ConnectionTransactions
|
6
|
+
def list_orders(connection_id, params = {})
|
7
|
+
validate(connection_id)
|
8
|
+
paginated_request(
|
9
|
+
"/v1/connections/#{connection_id}/orders",
|
10
|
+
params,
|
11
|
+
"transactions"
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
def create_order(connection_id, params)
|
16
|
+
validate(connection_id)
|
17
|
+
post("/v1/connections/#{connection_id}/orders", params)
|
18
|
+
end
|
19
|
+
|
20
|
+
def update_order(connection_id, transaction_id, params)
|
21
|
+
validate(connection_id)
|
22
|
+
validate(transaction_id)
|
23
|
+
put("/v1/connections/#{connection_id}/orders/#{transaction_id}", params)
|
24
|
+
end
|
25
|
+
|
26
|
+
def get_order(connection_id, transaction_id)
|
27
|
+
validate(connection_id)
|
28
|
+
validate(transaction_id)
|
29
|
+
get("/v1/connections/#{connection_id}/orders/#{transaction_id}")
|
30
|
+
end
|
31
|
+
|
32
|
+
def delete_order(connection_id, transaction_id)
|
33
|
+
validate(connection_id)
|
34
|
+
validate(transaction_id)
|
35
|
+
delete("/v1/connections/#{connection_id}/orders/#{transaction_id}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def list_refunds(connection_id, params = {})
|
39
|
+
validate(connection_id)
|
40
|
+
paginated_request(
|
41
|
+
"/v1/connections/#{connection_id}/refunds",
|
42
|
+
params,
|
43
|
+
"transactions"
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
def create_refund(connection_id, params)
|
48
|
+
validate(connection_id)
|
49
|
+
post("/v1/connections/#{connection_id}/refunds", params)
|
50
|
+
end
|
51
|
+
|
52
|
+
def update_refund(connection_id, transaction_id, params)
|
53
|
+
validate(connection_id)
|
54
|
+
validate(transaction_id)
|
55
|
+
put("/v1/connections/#{connection_id}/refunds/#{transaction_id}", params)
|
56
|
+
end
|
57
|
+
|
58
|
+
def get_refund(connection_id, transaction_id)
|
59
|
+
validate(connection_id)
|
60
|
+
validate(transaction_id)
|
61
|
+
get("/v1/connections/#{connection_id}/refunds/#{transaction_id}")
|
62
|
+
end
|
63
|
+
|
64
|
+
def delete_refund(connection_id, transaction_id)
|
65
|
+
validate(connection_id)
|
66
|
+
validate(transaction_id)
|
67
|
+
delete("/v1/connections/#{connection_id}/refunds/#{transaction_id}")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SellerLedger
|
4
|
+
class Client
|
5
|
+
module Connections
|
6
|
+
def list_connections(params = {})
|
7
|
+
paginated_request(
|
8
|
+
"/v1/connections",
|
9
|
+
params,
|
10
|
+
"connections"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_connection(params)
|
15
|
+
post("/v1/connections", params)
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_connection(id)
|
19
|
+
validate(id)
|
20
|
+
get("/v1/connections/#{id}")
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete_connection(id)
|
24
|
+
validate(id)
|
25
|
+
delete("/v1/connections/#{id}")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SellerLedger
|
4
|
+
class Client
|
5
|
+
module Inventory
|
6
|
+
def list_inventory_purchases(params = {})
|
7
|
+
paginated_request(
|
8
|
+
"/v1/inventory/purchases",
|
9
|
+
params,
|
10
|
+
"purchases"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_inventory_purchase(params)
|
15
|
+
post("/v1/inventory/purchases", params)
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_inventory_purchase(id)
|
19
|
+
validate(id)
|
20
|
+
get("/v1/inventory/purchases/#{id}")
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete_inventory_purchase(id)
|
24
|
+
validate(id)
|
25
|
+
delete("/v1/inventory/purchases/#{id}")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -3,28 +3,31 @@
|
|
3
3
|
module SellerLedger
|
4
4
|
class Client
|
5
5
|
module MileageTransactions
|
6
|
-
def
|
6
|
+
def list_mileage_expenses(params = {})
|
7
7
|
paginated_request(
|
8
|
-
"/v1/
|
8
|
+
"/v1/mileage_expenses",
|
9
9
|
params,
|
10
|
-
"
|
10
|
+
"mileage_expenses"
|
11
11
|
)
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
15
|
-
post("/v1/
|
14
|
+
def create_mileage_expense(params)
|
15
|
+
post("/v1/mileage_expenses", params)
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
19
|
-
|
18
|
+
def update_mileage_expense(id, params)
|
19
|
+
validate(id)
|
20
|
+
put("/v1/mileage_expenses/#{id}", params)
|
20
21
|
end
|
21
22
|
|
22
|
-
def
|
23
|
-
|
23
|
+
def get_mileage_expense(id)
|
24
|
+
validate(id)
|
25
|
+
get("/v1/mileage_expenses/#{id}")
|
24
26
|
end
|
25
27
|
|
26
|
-
def
|
27
|
-
|
28
|
+
def delete_mileage_expense(id)
|
29
|
+
validate(id)
|
30
|
+
delete("/v1/mileage_expenses/#{id}")
|
28
31
|
end
|
29
32
|
end
|
30
33
|
end
|
@@ -11,8 +11,23 @@ module SellerLedger
|
|
11
11
|
)
|
12
12
|
end
|
13
13
|
|
14
|
-
def get_transaction(id)
|
15
|
-
|
14
|
+
def get_transaction(id, params = {})
|
15
|
+
validate(id)
|
16
|
+
get("/v1/transactions/#{id}", params)
|
17
|
+
end
|
18
|
+
|
19
|
+
def create_transaction(params)
|
20
|
+
post("/v1/transactions", params)
|
21
|
+
end
|
22
|
+
|
23
|
+
def update_transaction(id, params)
|
24
|
+
validate(id)
|
25
|
+
put("/v1/transactions/#{id}", params)
|
26
|
+
end
|
27
|
+
|
28
|
+
def delete_transaction(id, params = {})
|
29
|
+
validate(id)
|
30
|
+
delete("/v1/transactions/#{id}", params)
|
16
31
|
end
|
17
32
|
end
|
18
33
|
end
|
data/lib/seller_ledger/client.rb
CHANGED
@@ -2,19 +2,25 @@
|
|
2
2
|
|
3
3
|
require "faraday"
|
4
4
|
require "json"
|
5
|
+
require "seller_ledger/client/accounts"
|
6
|
+
require "seller_ledger/client/business"
|
5
7
|
require "seller_ledger/client/categories"
|
6
|
-
require "seller_ledger/client/
|
8
|
+
require "seller_ledger/client/connections"
|
9
|
+
require "seller_ledger/client/connection_transactions"
|
10
|
+
require "seller_ledger/client/inventory"
|
7
11
|
require "seller_ledger/client/mileage_transactions"
|
8
|
-
require "seller_ledger/client/
|
9
|
-
require "seller_ledger/client/expense_transactions"
|
12
|
+
require "seller_ledger/client/transactions"
|
10
13
|
|
11
14
|
module SellerLedger
|
12
15
|
class Client
|
16
|
+
include SellerLedger::Client::Accounts
|
17
|
+
include SellerLedger::Client::Business
|
13
18
|
include SellerLedger::Client::Categories
|
14
|
-
include SellerLedger::Client::
|
19
|
+
include SellerLedger::Client::Connections
|
20
|
+
include SellerLedger::Client::ConnectionTransactions
|
21
|
+
include SellerLedger::Client::Inventory
|
15
22
|
include SellerLedger::Client::MileageTransactions
|
16
|
-
include SellerLedger::Client::
|
17
|
-
include SellerLedger::Client::ExpenseTransactions
|
23
|
+
include SellerLedger::Client::Transactions
|
18
24
|
|
19
25
|
def initialize(token:, url: "https://api.sellerledger.com")
|
20
26
|
@token = token
|
@@ -33,14 +39,15 @@ module SellerLedger
|
|
33
39
|
request(:put, url, params).body
|
34
40
|
end
|
35
41
|
|
36
|
-
def delete(url)
|
37
|
-
request(:delete, url).body
|
42
|
+
def delete(url, params = {})
|
43
|
+
request(:delete, url, params).body
|
38
44
|
end
|
39
45
|
|
40
46
|
def request(method, url, params)
|
41
47
|
response = agent.send(method, url, params)
|
42
48
|
raise SellerLedger::Errors::Unauthenticated.new if response.status == 401
|
43
|
-
|
49
|
+
error = response.body["error"]
|
50
|
+
raise SellerLedger::Errors::Generic.new(error) if error != nil && error != ""
|
44
51
|
response
|
45
52
|
end
|
46
53
|
|
@@ -66,5 +73,9 @@ module SellerLedger
|
|
66
73
|
f.response :json
|
67
74
|
end
|
68
75
|
end
|
76
|
+
|
77
|
+
def validate(value)
|
78
|
+
raise SellerLedger::Errors::ValueError.new if value == nil || value == ""
|
79
|
+
end
|
69
80
|
end
|
70
81
|
end
|
data/lib/seller_ledger/errors.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seller_ledger-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Reeth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
description: Ruby wrapper for interacting with the Seller Ledger API
|
42
56
|
email:
|
43
57
|
- kevin@sellerledger.com
|
@@ -54,9 +68,12 @@ files:
|
|
54
68
|
- Rakefile
|
55
69
|
- lib/seller_ledger.rb
|
56
70
|
- lib/seller_ledger/client.rb
|
71
|
+
- lib/seller_ledger/client/accounts.rb
|
72
|
+
- lib/seller_ledger/client/business.rb
|
57
73
|
- lib/seller_ledger/client/categories.rb
|
58
|
-
- lib/seller_ledger/client/
|
59
|
-
- lib/seller_ledger/client/
|
74
|
+
- lib/seller_ledger/client/connection_transactions.rb
|
75
|
+
- lib/seller_ledger/client/connections.rb
|
76
|
+
- lib/seller_ledger/client/inventory.rb
|
60
77
|
- lib/seller_ledger/client/mileage_transactions.rb
|
61
78
|
- lib/seller_ledger/client/transactions.rb
|
62
79
|
- lib/seller_ledger/errors.rb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SellerLedger
|
4
|
-
class Client
|
5
|
-
module ExpenseTransactions
|
6
|
-
def list_expense_transactions(params = {})
|
7
|
-
paginated_request(
|
8
|
-
"/v1/transactions/expenses",
|
9
|
-
params,
|
10
|
-
"transactions"
|
11
|
-
)
|
12
|
-
end
|
13
|
-
|
14
|
-
def create_expense_transaction(params)
|
15
|
-
post("/v1/transactions/expenses", params)
|
16
|
-
end
|
17
|
-
|
18
|
-
def update_expense_transaction(id, params)
|
19
|
-
put("/v1/transactions/expenses/#{id}", params)
|
20
|
-
end
|
21
|
-
|
22
|
-
def get_expense_transaction(id)
|
23
|
-
get("/v1/transactions/expenses/#{id}")
|
24
|
-
end
|
25
|
-
|
26
|
-
def delete_expense_transaction(id)
|
27
|
-
delete("/v1/transactions/expenses/#{id}")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SellerLedger
|
4
|
-
class Client
|
5
|
-
module IncomeTransactions
|
6
|
-
def list_income_transactions(params = {})
|
7
|
-
paginated_request(
|
8
|
-
"/v1/transactions/income",
|
9
|
-
params,
|
10
|
-
"transactions"
|
11
|
-
)
|
12
|
-
end
|
13
|
-
|
14
|
-
def create_income_transaction(params)
|
15
|
-
post("/v1/transactions/income", params)
|
16
|
-
end
|
17
|
-
|
18
|
-
def update_income_transaction(id, params)
|
19
|
-
put("/v1/transactions/income/#{id}", params)
|
20
|
-
end
|
21
|
-
|
22
|
-
def get_income_transaction(id)
|
23
|
-
get("/v1/transactions/income/#{id}")
|
24
|
-
end
|
25
|
-
|
26
|
-
def delete_income_transaction(id)
|
27
|
-
delete("/v1/transactions/income/#{id}")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|