yield-sdk 0.5.0 → 0.7.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/.rubocop.yml +51 -0
- data/README.md +25 -10
- data/Rakefile +11 -2
- data/Steepfile +20 -0
- data/docs/index.md +12 -0
- data/docs/modules/customer.md +64 -0
- data/docs/modules/order.md +93 -0
- data/docs/modules/self.md +48 -0
- data/lib/yield/sdk/api/api_client.rb +54 -37
- data/lib/yield/sdk/api/api_error.rb +39 -0
- data/lib/yield/sdk/api/api_error_details.rb +9 -0
- data/lib/yield/sdk/api/api_result.rb +23 -6
- data/lib/yield/sdk/base_client.rb +6 -3
- data/lib/yield/sdk/client.rb +7 -4
- data/lib/yield/sdk/modules/customer/customer_base_client.rb +27 -0
- data/lib/yield/sdk/modules/customer/customer_client.rb +19 -0
- data/lib/yield/sdk/modules/customer/payloads/customer_credit_line_info.rb +22 -0
- data/lib/yield/sdk/modules/customer/payloads/customer_list_payload.rb +20 -0
- data/lib/yield/sdk/modules/customer/payloads/customer_row.rb +28 -0
- data/lib/yield/sdk/modules/order/order_base_client.rb +4 -1
- data/lib/yield/sdk/modules/order/payloads/order.rb +21 -11
- data/lib/yield/sdk/modules/order/payloads/order_create_payload.rb +1 -1
- data/lib/yield/sdk/modules/order/payloads/order_customer_info.rb +11 -5
- data/lib/yield/sdk/modules/order/payloads/order_status.rb +1 -1
- data/lib/yield/sdk/modules/self/payloads/self_info.rb +9 -5
- data/lib/yield/sdk/modules/self/payloads/self_organization_info.rb +9 -5
- data/lib/yield/sdk/types/cursor_payload.rb +19 -0
- data/lib/yield/sdk/types/money.rb +6 -3
- data/lib/yield/sdk/types/money_payload.rb +7 -3
- data/lib/yield/sdk/types/page.rb +51 -0
- data/lib/yield/sdk/utils/type_utils.rb +71 -0
- data/lib/yield/sdk/version.rb +3 -3
- data/lib/yield/sdk.rb +2 -1
- data/sig/vendor/faraday.rbs +23 -0
- data/sig/yield/sdk/api/api_client.rbs +26 -0
- data/sig/yield/sdk/api/api_error.rbs +13 -0
- data/sig/yield/sdk/api/api_error_details.rbs +14 -0
- data/sig/yield/sdk/api/api_result.rbs +19 -0
- data/sig/yield/sdk/base_client.rbs +13 -0
- data/sig/yield/sdk/client.rbs +13 -0
- data/sig/yield/sdk/modules/customer/customer_base_client.rbs +11 -0
- data/sig/yield/sdk/modules/customer/customer_client.rbs +11 -0
- data/sig/yield/sdk/modules/customer/payloads/customer_credit_line_info.rbs +13 -0
- data/sig/yield/sdk/modules/customer/payloads/customer_list_payload.rbs +16 -0
- data/sig/yield/sdk/modules/customer/payloads/customer_row.rbs +16 -0
- data/sig/yield/sdk/modules/order/payloads/order.rbs +30 -0
- data/sig/yield/sdk/modules/order/payloads/order_create_payload.rbs +15 -0
- data/sig/yield/sdk/modules/order/payloads/order_customer_info.rbs +15 -0
- data/sig/yield/sdk/modules/order/payloads/order_status.rbs +10 -0
- data/sig/yield/sdk/modules/order/self_base_client.rbs +12 -0
- data/sig/yield/sdk/modules/order/self_client.rbs +12 -0
- data/sig/yield/sdk/modules/self/payloads/self_info.rbs +14 -0
- data/sig/yield/sdk/modules/self/payloads/self_organization_info.rbs +14 -0
- data/sig/yield/sdk/modules/self/self_base_client.rbs +11 -0
- data/sig/yield/sdk/modules/self/self_client.rbs +11 -0
- data/sig/yield/sdk/types/cursor_payload.rbs +14 -0
- data/sig/yield/sdk/types/money.rbs +12 -0
- data/sig/yield/sdk/types/money_payload.rbs +15 -0
- data/sig/yield/sdk/types/page.rbs +20 -0
- data/sig/yield/sdk/utils/type_utils.rbs +26 -0
- data/sig/yield/sdk/version.rbs +8 -0
- data/sig/yield/sdk.rbs +1 -3
- metadata +66 -7
- data/.standard.yml +0 -3
- data/lib/yield/sdk/utils.rb +0 -36
@@ -0,0 +1,13 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Customer
|
4
|
+
class CustomerCreditLineInfo
|
5
|
+
attr_reader credit_limit: Money
|
6
|
+
attr_reader amount_available: Money
|
7
|
+
|
8
|
+
def initialize: (credit_limit: Money, amount_available: Money) -> void
|
9
|
+
def self.from_payload: (Hash[Symbol, Object]) -> CustomerCreditLineInfo
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Customer
|
4
|
+
type customer_list_params = {
|
5
|
+
?limit: Integer?,
|
6
|
+
?after: cursor_like?,
|
7
|
+
?customer_code: String?,
|
8
|
+
?extra_system_id: String?,
|
9
|
+
}
|
10
|
+
|
11
|
+
class CustomerListPayload
|
12
|
+
def self.build: (customer_list_params) -> Hash[Symbol, String | Integer | nil]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Customer
|
4
|
+
class CustomerRow
|
5
|
+
attr_reader id: String
|
6
|
+
attr_reader registered_name: String
|
7
|
+
attr_reader trade_name: String?
|
8
|
+
attr_reader customer_code: String?
|
9
|
+
attr_reader credit_line: CustomerCreditLineInfo?
|
10
|
+
|
11
|
+
def initialize: (id: String, registered_name: String, trade_name: String?, customer_code: String?, credit_line: CustomerCreditLineInfo?) -> void
|
12
|
+
def self.from_payload: (Hash[Symbol, Object]) -> CustomerRow
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Order
|
4
|
+
class Order
|
5
|
+
attr_reader id: String
|
6
|
+
attr_reader order_number: String
|
7
|
+
attr_reader status: OrderStatus::t
|
8
|
+
attr_reader customer: OrderCustomerInfo?
|
9
|
+
attr_reader date: Date
|
10
|
+
attr_reader total_amount: Money
|
11
|
+
attr_reader note: String?
|
12
|
+
attr_reader payment_link: String?
|
13
|
+
attr_reader creation_time: Time
|
14
|
+
|
15
|
+
def initialize: (
|
16
|
+
id: String,
|
17
|
+
order_number: String,
|
18
|
+
status: OrderStatus::t,
|
19
|
+
customer: OrderCustomerInfo?,
|
20
|
+
date: Date,
|
21
|
+
total_amount: Money,
|
22
|
+
note: String?,
|
23
|
+
payment_link: String?,
|
24
|
+
creation_time: Time,
|
25
|
+
) -> void
|
26
|
+
def self.from_payload: (Hash[Symbol, Object]) -> Order
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Order
|
4
|
+
type order_create_params = {
|
5
|
+
customer_id: String,
|
6
|
+
total_amount: money_like,
|
7
|
+
?note: String?,
|
8
|
+
}
|
9
|
+
|
10
|
+
class OrderCreatePayload
|
11
|
+
def self.build: (order_create_params) -> Hash[Symbol, Object?]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Order
|
4
|
+
class OrderCustomerInfo
|
5
|
+
attr_reader id: String
|
6
|
+
attr_reader registered_name: String
|
7
|
+
attr_reader trade_name: String?
|
8
|
+
attr_reader customer_code: String?
|
9
|
+
|
10
|
+
def initialize: (id: String, registered_name: String, trade_name: String?, customer_code: String?) -> void
|
11
|
+
def self.from_payload: (Hash[Symbol, Object]) -> OrderCustomerInfo
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Self
|
4
|
+
class SelfInfo
|
5
|
+
attr_reader id: String
|
6
|
+
attr_reader name: String
|
7
|
+
attr_reader organization: SelfOrganizationInfo
|
8
|
+
|
9
|
+
def initialize: (id: String, name: String, organization: SelfOrganizationInfo) -> void
|
10
|
+
def self.from_payload: (Hash[Symbol, Object]) -> SelfInfo
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module Self
|
4
|
+
class SelfOrganizationInfo
|
5
|
+
attr_reader id: String
|
6
|
+
attr_reader registered_name: String
|
7
|
+
attr_reader trade_name: String?
|
8
|
+
|
9
|
+
def initialize: (id: String, registered_name: String, trade_name: String?) -> void
|
10
|
+
def self.from_payload: (Hash[Symbol, Object]) -> SelfOrganizationInfo
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
# `& Object` is needed for the `is_a?` method
|
4
|
+
type cursor_like = String | (_EntityInterface & Object) | Page[_EntityInterface]
|
5
|
+
|
6
|
+
interface _EntityInterface
|
7
|
+
def id: -> String
|
8
|
+
end
|
9
|
+
|
10
|
+
class CursorPayload
|
11
|
+
def self.build: (cursor_like) -> String?
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
class Money
|
4
|
+
attr_reader currency_code: Symbol
|
5
|
+
attr_reader value: BigDecimal
|
6
|
+
|
7
|
+
def initialize: (Symbol, BigDecimal) -> void
|
8
|
+
| (currency_code: Symbol, value: BigDecimal) -> void
|
9
|
+
def self.from_payload: (String) -> Money
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
# `& Object` is needed for the `is_a?` method
|
4
|
+
type money_like = String | [Symbol, BigDecimal] | (_MoneyInterface & Object)
|
5
|
+
|
6
|
+
interface _MoneyInterface
|
7
|
+
def currency_code: -> Symbol
|
8
|
+
def value: -> BigDecimal
|
9
|
+
end
|
10
|
+
|
11
|
+
class MoneyPayload
|
12
|
+
def self.build: (money_like) -> String
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
class Page[T]
|
4
|
+
include Enumerable[T]
|
5
|
+
|
6
|
+
attr_accessor has_more: bool
|
7
|
+
@items: Array[T]
|
8
|
+
|
9
|
+
def initialize: (items: Array[T], has_more: bool) -> void
|
10
|
+
def self.build_with: [E] { (Hash[Symbol, Object]) -> E } -> (^(Hash[Symbol, Object]) -> Page[E])
|
11
|
+
|
12
|
+
def to_a: -> Array[T]
|
13
|
+
def size: -> Integer
|
14
|
+
def length: -> Integer
|
15
|
+
def []: (Integer) -> T?
|
16
|
+
def last: -> T?
|
17
|
+
def each: { (T) -> void } -> Array[T]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Yield
|
2
|
+
module SDK
|
3
|
+
module TypeUtils
|
4
|
+
def expect_boolean: (Object) -> bool
|
5
|
+
def expect_integer: (Object) -> Integer
|
6
|
+
def expect_string: (Object) -> String
|
7
|
+
def expect_date: (Object) -> Date
|
8
|
+
def expect_time: (Object) -> Time
|
9
|
+
def expect_variant: [T < Symbol] (Array[T], Object) -> T
|
10
|
+
def expect_record: (Object) -> Hash[Symbol, Object]
|
11
|
+
def expect_list: (Object) -> Array[Object]
|
12
|
+
def expect_record_list: (Object) -> Array[Hash[Symbol, Object]]
|
13
|
+
|
14
|
+
# module_function
|
15
|
+
def self.expect_boolean: (Object) -> bool
|
16
|
+
def self.expect_integer: (Object) -> Integer
|
17
|
+
def self.expect_string: (Object) -> String
|
18
|
+
def self.expect_date: (Object) -> Date
|
19
|
+
def self.expect_time: (Object) -> Time
|
20
|
+
def self.expect_variant: [T < Symbol] (Array[T], Object) -> T
|
21
|
+
def self.expect_record: (Object) -> Hash[Symbol, Object]
|
22
|
+
def self.expect_list: (Object) -> Array[Object]
|
23
|
+
def self.expect_record_list: (Object) -> Array[Hash[Symbol, Object]]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/sig/yield/sdk.rbs
CHANGED
metadata
CHANGED
@@ -1,14 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yield-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yield
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-04 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: backports
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '3.24'
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '3.24'
|
12
26
|
- !ruby/object:Gem::Dependency
|
13
27
|
name: faraday
|
14
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -27,15 +41,27 @@ executables: []
|
|
27
41
|
extensions: []
|
28
42
|
extra_rdoc_files: []
|
29
43
|
files:
|
30
|
-
- ".
|
44
|
+
- ".rubocop.yml"
|
31
45
|
- LICENSE
|
32
46
|
- README.md
|
33
47
|
- Rakefile
|
48
|
+
- Steepfile
|
49
|
+
- docs/index.md
|
50
|
+
- docs/modules/customer.md
|
51
|
+
- docs/modules/order.md
|
52
|
+
- docs/modules/self.md
|
34
53
|
- lib/yield/sdk.rb
|
35
54
|
- lib/yield/sdk/api/api_client.rb
|
55
|
+
- lib/yield/sdk/api/api_error.rb
|
56
|
+
- lib/yield/sdk/api/api_error_details.rb
|
36
57
|
- lib/yield/sdk/api/api_result.rb
|
37
58
|
- lib/yield/sdk/base_client.rb
|
38
59
|
- lib/yield/sdk/client.rb
|
60
|
+
- lib/yield/sdk/modules/customer/customer_base_client.rb
|
61
|
+
- lib/yield/sdk/modules/customer/customer_client.rb
|
62
|
+
- lib/yield/sdk/modules/customer/payloads/customer_credit_line_info.rb
|
63
|
+
- lib/yield/sdk/modules/customer/payloads/customer_list_payload.rb
|
64
|
+
- lib/yield/sdk/modules/customer/payloads/customer_row.rb
|
39
65
|
- lib/yield/sdk/modules/order/order_base_client.rb
|
40
66
|
- lib/yield/sdk/modules/order/order_client.rb
|
41
67
|
- lib/yield/sdk/modules/order/payloads/order.rb
|
@@ -46,15 +72,48 @@ files:
|
|
46
72
|
- lib/yield/sdk/modules/self/payloads/self_organization_info.rb
|
47
73
|
- lib/yield/sdk/modules/self/self_base_client.rb
|
48
74
|
- lib/yield/sdk/modules/self/self_client.rb
|
75
|
+
- lib/yield/sdk/types/cursor_payload.rb
|
49
76
|
- lib/yield/sdk/types/money.rb
|
50
77
|
- lib/yield/sdk/types/money_payload.rb
|
51
|
-
- lib/yield/sdk/
|
78
|
+
- lib/yield/sdk/types/page.rb
|
79
|
+
- lib/yield/sdk/utils/type_utils.rb
|
52
80
|
- lib/yield/sdk/version.rb
|
81
|
+
- sig/vendor/faraday.rbs
|
53
82
|
- sig/yield/sdk.rbs
|
54
|
-
|
83
|
+
- sig/yield/sdk/api/api_client.rbs
|
84
|
+
- sig/yield/sdk/api/api_error.rbs
|
85
|
+
- sig/yield/sdk/api/api_error_details.rbs
|
86
|
+
- sig/yield/sdk/api/api_result.rbs
|
87
|
+
- sig/yield/sdk/base_client.rbs
|
88
|
+
- sig/yield/sdk/client.rbs
|
89
|
+
- sig/yield/sdk/modules/customer/customer_base_client.rbs
|
90
|
+
- sig/yield/sdk/modules/customer/customer_client.rbs
|
91
|
+
- sig/yield/sdk/modules/customer/payloads/customer_credit_line_info.rbs
|
92
|
+
- sig/yield/sdk/modules/customer/payloads/customer_list_payload.rbs
|
93
|
+
- sig/yield/sdk/modules/customer/payloads/customer_row.rbs
|
94
|
+
- sig/yield/sdk/modules/order/payloads/order.rbs
|
95
|
+
- sig/yield/sdk/modules/order/payloads/order_create_payload.rbs
|
96
|
+
- sig/yield/sdk/modules/order/payloads/order_customer_info.rbs
|
97
|
+
- sig/yield/sdk/modules/order/payloads/order_status.rbs
|
98
|
+
- sig/yield/sdk/modules/order/self_base_client.rbs
|
99
|
+
- sig/yield/sdk/modules/order/self_client.rbs
|
100
|
+
- sig/yield/sdk/modules/self/payloads/self_info.rbs
|
101
|
+
- sig/yield/sdk/modules/self/payloads/self_organization_info.rbs
|
102
|
+
- sig/yield/sdk/modules/self/self_base_client.rbs
|
103
|
+
- sig/yield/sdk/modules/self/self_client.rbs
|
104
|
+
- sig/yield/sdk/types/cursor_payload.rbs
|
105
|
+
- sig/yield/sdk/types/money.rbs
|
106
|
+
- sig/yield/sdk/types/money_payload.rbs
|
107
|
+
- sig/yield/sdk/types/page.rbs
|
108
|
+
- sig/yield/sdk/utils/type_utils.rbs
|
109
|
+
- sig/yield/sdk/version.rbs
|
110
|
+
homepage: https://github.com/yield-tech/sdk-ruby/blob/main/README.md
|
55
111
|
licenses:
|
56
112
|
- Apache-2.0
|
57
|
-
metadata:
|
113
|
+
metadata:
|
114
|
+
homepage_uri: https://github.com/yield-tech/sdk-ruby/blob/main/README.md
|
115
|
+
source_code_uri: https://github.com/yield-tech/sdk-ruby
|
116
|
+
documentation_uri: https://github.com/yield-tech/sdk-ruby/blob/main/README.md
|
58
117
|
rdoc_options: []
|
59
118
|
require_paths:
|
60
119
|
- lib
|
@@ -62,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
62
121
|
requirements:
|
63
122
|
- - ">="
|
64
123
|
- !ruby/object:Gem::Version
|
65
|
-
version: 3.
|
124
|
+
version: 3.0.0
|
66
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
126
|
requirements:
|
68
127
|
- - ">="
|
data/.standard.yml
DELETED
data/lib/yield/sdk/utils.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Yield
|
4
|
-
module SDK
|
5
|
-
module Utils
|
6
|
-
module_function
|
7
|
-
|
8
|
-
def assert_boolean(data)
|
9
|
-
raise ArgumentError, "Expected Boolean, got #{data.class}" unless data == true || data == false
|
10
|
-
data
|
11
|
-
end
|
12
|
-
|
13
|
-
def assert_integer(data)
|
14
|
-
raise ArgumentError, "Expected Integer, got #{data.class}" unless data.is_a?(Integer)
|
15
|
-
data
|
16
|
-
end
|
17
|
-
|
18
|
-
def assert_string(data)
|
19
|
-
raise ArgumentError, "Expected String, got #{data.class}" unless data.is_a?(String)
|
20
|
-
data
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.assert_variant(variants, data)
|
24
|
-
raise ArgumentError, "Expected String, got #{data.class}" unless data.is_a?(String)
|
25
|
-
symbol = data.downcase.to_sym
|
26
|
-
raise ArgumentError, "Invalid variant: \"#{data}\"" unless variants.include?(symbol)
|
27
|
-
symbol
|
28
|
-
end
|
29
|
-
|
30
|
-
def self.assert_hash(data)
|
31
|
-
raise ArgumentError, "Expected Hash, got #{data.class}" unless data.is_a?(Hash)
|
32
|
-
data
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|