terminal-shop 0.1.0.pre.alpha.10 → 0.1.0.pre.alpha.12

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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/terminal-shop/base_client.rb +165 -137
  4. data/lib/terminal-shop/base_model.rb +2 -4
  5. data/lib/terminal-shop/base_page.rb +2 -6
  6. data/lib/terminal-shop/client.rb +0 -1
  7. data/lib/terminal-shop/models/address.rb +0 -11
  8. data/lib/terminal-shop/models/address_create_response.rb +0 -6
  9. data/lib/terminal-shop/models/address_delete_response.rb +0 -6
  10. data/lib/terminal-shop/models/address_list_response.rb +0 -6
  11. data/lib/terminal-shop/models/app.rb +8 -9
  12. data/lib/terminal-shop/models/app_create_response.rb +0 -13
  13. data/lib/terminal-shop/models/app_delete_response.rb +0 -6
  14. data/lib/terminal-shop/models/app_get_response.rb +0 -6
  15. data/lib/terminal-shop/models/app_list_response.rb +0 -6
  16. data/lib/terminal-shop/models/card.rb +0 -16
  17. data/lib/terminal-shop/models/card_collect_response.rb +0 -12
  18. data/lib/terminal-shop/models/card_create_response.rb +0 -6
  19. data/lib/terminal-shop/models/card_delete_response.rb +0 -6
  20. data/lib/terminal-shop/models/card_list_response.rb +0 -6
  21. data/lib/terminal-shop/models/cart.rb +0 -33
  22. data/lib/terminal-shop/models/cart_convert_response.rb +0 -6
  23. data/lib/terminal-shop/models/cart_get_response.rb +0 -6
  24. data/lib/terminal-shop/models/cart_set_address_response.rb +0 -6
  25. data/lib/terminal-shop/models/cart_set_card_response.rb +0 -6
  26. data/lib/terminal-shop/models/cart_set_item_response.rb +0 -6
  27. data/lib/terminal-shop/models/email_create_response.rb +0 -6
  28. data/lib/terminal-shop/models/order.rb +0 -46
  29. data/lib/terminal-shop/models/order_get_response.rb +0 -6
  30. data/lib/terminal-shop/models/order_list_response.rb +0 -6
  31. data/lib/terminal-shop/models/product.rb +0 -11
  32. data/lib/terminal-shop/models/product_list_response.rb +0 -6
  33. data/lib/terminal-shop/models/product_variant.rb +0 -8
  34. data/lib/terminal-shop/models/profile.rb +0 -16
  35. data/lib/terminal-shop/models/profile_me_response.rb +0 -6
  36. data/lib/terminal-shop/models/profile_update_response.rb +0 -6
  37. data/lib/terminal-shop/models/subscription.rb +1 -66
  38. data/lib/terminal-shop/models/subscription_create_response.rb +0 -6
  39. data/lib/terminal-shop/models/subscription_delete_response.rb +0 -6
  40. data/lib/terminal-shop/models/subscription_list_response.rb +0 -6
  41. data/lib/terminal-shop/models/token.rb +6 -37
  42. data/lib/terminal-shop/models/token_create_response.rb +0 -13
  43. data/lib/terminal-shop/models/token_delete_response.rb +0 -6
  44. data/lib/terminal-shop/models/token_get_response.rb +0 -6
  45. data/lib/terminal-shop/models/token_list_response.rb +0 -6
  46. data/lib/terminal-shop/models/view_init_response.rb +0 -17
  47. data/lib/terminal-shop/pooled_net_requester.rb +127 -82
  48. data/lib/terminal-shop/resources/app.rb +2 -0
  49. data/lib/terminal-shop/resources/subscription.rb +0 -2
  50. data/lib/terminal-shop/util.rb +64 -7
  51. data/lib/terminal-shop/version.rb +1 -1
  52. data/lib/terminal-shop.rb +56 -55
  53. data/manifest.yaml +1 -0
  54. data/rbi/lib/terminal-shop/base_client.rbi +41 -27
  55. data/rbi/lib/terminal-shop/base_model.rbi +63 -99
  56. data/rbi/lib/terminal-shop/base_page.rbi +4 -3
  57. data/rbi/lib/terminal-shop/client.rbi +2 -1
  58. data/rbi/lib/terminal-shop/errors.rbi +10 -5
  59. data/rbi/lib/terminal-shop/models/address.rbi +16 -14
  60. data/rbi/lib/terminal-shop/models/address_create_params.rbi +16 -14
  61. data/rbi/lib/terminal-shop/models/address_list_response.rbi +1 -3
  62. data/rbi/lib/terminal-shop/models/app.rbi +11 -3
  63. data/rbi/lib/terminal-shop/models/app_create_response.rbi +2 -1
  64. data/rbi/lib/terminal-shop/models/app_list_response.rbi +1 -3
  65. data/rbi/lib/terminal-shop/models/card.rbi +5 -17
  66. data/rbi/lib/terminal-shop/models/card_collect_response.rbi +2 -1
  67. data/rbi/lib/terminal-shop/models/card_create_params.rbi +6 -2
  68. data/rbi/lib/terminal-shop/models/card_list_response.rbi +1 -3
  69. data/rbi/lib/terminal-shop/models/cart.rbi +16 -15
  70. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +2 -1
  71. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +6 -2
  72. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +8 -8
  73. data/rbi/lib/terminal-shop/models/email_create_params.rbi +6 -2
  74. data/rbi/lib/terminal-shop/models/order.rbi +43 -44
  75. data/rbi/lib/terminal-shop/models/order_list_response.rbi +1 -3
  76. data/rbi/lib/terminal-shop/models/product.rbi +17 -14
  77. data/rbi/lib/terminal-shop/models/product_list_response.rbi +1 -3
  78. data/rbi/lib/terminal-shop/models/profile.rbi +13 -13
  79. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +6 -8
  80. data/rbi/lib/terminal-shop/models/subscription.rbi +29 -59
  81. data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +2 -1
  82. data/rbi/lib/terminal-shop/models/token.rbi +7 -25
  83. data/rbi/lib/terminal-shop/models/token_create_response.rbi +2 -1
  84. data/rbi/lib/terminal-shop/models/token_list_response.rbi +1 -3
  85. data/rbi/lib/terminal-shop/models/view_init_response.rbi +26 -34
  86. data/rbi/lib/terminal-shop/pooled_net_requester.rbi +38 -0
  87. data/rbi/lib/terminal-shop/request_options.rbi +6 -24
  88. data/rbi/lib/terminal-shop/resources/address.rbi +6 -11
  89. data/rbi/lib/terminal-shop/resources/app.rbi +10 -13
  90. data/rbi/lib/terminal-shop/resources/card.rbi +8 -20
  91. data/rbi/lib/terminal-shop/resources/cart.rbi +10 -21
  92. data/rbi/lib/terminal-shop/resources/email.rbi +2 -1
  93. data/rbi/lib/terminal-shop/resources/order.rbi +4 -10
  94. data/rbi/lib/terminal-shop/resources/product.rbi +2 -9
  95. data/rbi/lib/terminal-shop/resources/profile.rbi +4 -10
  96. data/rbi/lib/terminal-shop/resources/subscription.rbi +6 -13
  97. data/rbi/lib/terminal-shop/resources/token.rbi +8 -20
  98. data/rbi/lib/terminal-shop/resources/view.rbi +2 -9
  99. data/rbi/lib/terminal-shop/util.rbi +33 -23
  100. data/rbi/lib/terminal-shop/version.rbi +1 -1
  101. data/sig/terminal-shop/base_client.rbs +28 -27
  102. data/sig/terminal-shop/base_model.rbs +0 -2
  103. data/sig/terminal-shop/base_page.rbs +1 -1
  104. data/sig/terminal-shop/models/app.rbs +5 -2
  105. data/sig/terminal-shop/models/subscription.rbs +0 -16
  106. data/sig/terminal-shop/models/token.rbs +3 -22
  107. data/sig/terminal-shop/pooled_net_requester.rbs +32 -0
  108. data/sig/terminal-shop/resources/app.rbs +1 -0
  109. data/sig/terminal-shop/resources/subscription.rbs +0 -1
  110. data/sig/terminal-shop/util.rbs +11 -1
  111. data/sig/terminal-shop/version.rbs +1 -1
  112. metadata +5 -3
@@ -2,12 +2,6 @@
2
2
 
3
3
  module TerminalShop
4
4
  module Models
5
- # @example
6
- # ```ruby
7
- # token_create_response => {
8
- # data: TerminalShop::Models::TokenCreateResponse::Data
9
- # }
10
- # ```
11
5
  class TokenCreateResponse < TerminalShop::BaseModel
12
6
  # @!attribute data
13
7
  #
@@ -21,13 +15,6 @@ module TerminalShop
21
15
 
22
16
  # def initialize: (Hash | TerminalShop::BaseModel) -> void
23
17
 
24
- # @example
25
- # ```ruby
26
- # data => {
27
- # id: String,
28
- # token: String
29
- # }
30
- # ```
31
18
  class Data < TerminalShop::BaseModel
32
19
  # @!attribute id
33
20
  # Personal token ID.
@@ -2,12 +2,6 @@
2
2
 
3
3
  module TerminalShop
4
4
  module Models
5
- # @example
6
- # ```ruby
7
- # token_delete_response => {
8
- # data: :ok
9
- # }
10
- # ```
11
5
  class TokenDeleteResponse < TerminalShop::BaseModel
12
6
  # @!attribute data
13
7
  #
@@ -2,12 +2,6 @@
2
2
 
3
3
  module TerminalShop
4
4
  module Models
5
- # @example
6
- # ```ruby
7
- # token_get_response => {
8
- # data: TerminalShop::Models::TokenAPI
9
- # }
10
- # ```
11
5
  class TokenGetResponse < TerminalShop::BaseModel
12
6
  # @!attribute data
13
7
  # A personal access token used to access the Terminal API. If you leak this,
@@ -2,12 +2,6 @@
2
2
 
3
3
  module TerminalShop
4
4
  module Models
5
- # @example
6
- # ```ruby
7
- # token_list_response => {
8
- # data: -> { TerminalShop::ArrayOf[TerminalShop::Models::TokenAPI] === _1 }
9
- # }
10
- # ```
11
5
  class TokenListResponse < TerminalShop::BaseModel
12
6
  # @!attribute data
13
7
  # List of personal access tokens.
@@ -2,12 +2,6 @@
2
2
 
3
3
  module TerminalShop
4
4
  module Models
5
- # @example
6
- # ```ruby
7
- # view_init_response => {
8
- # data: TerminalShop::Models::ViewInitResponse::Data
9
- # }
10
- # ```
11
5
  class ViewInitResponse < TerminalShop::BaseModel
12
6
  # @!attribute data
13
7
  # Initial app data.
@@ -22,17 +16,6 @@ module TerminalShop
22
16
 
23
17
  # def initialize: (Hash | TerminalShop::BaseModel) -> void
24
18
 
25
- # @example
26
- # ```ruby
27
- # data => {
28
- # addresses: -> { TerminalShop::ArrayOf[TerminalShop::Models::AddressAPI] === _1 },
29
- # apps: -> { TerminalShop::ArrayOf[TerminalShop::Models::AppAPI] === _1 },
30
- # cards: -> { TerminalShop::ArrayOf[TerminalShop::Models::CardAPI] === _1 },
31
- # cart: TerminalShop::Models::CartAPI,
32
- # orders: -> { TerminalShop::ArrayOf[TerminalShop::Models::OrderAPI] === _1 },
33
- # **_
34
- # }
35
- # ```
36
19
  class Data < TerminalShop::BaseModel
37
20
  # @!attribute addresses
38
21
  #
@@ -4,122 +4,167 @@ module TerminalShop
4
4
  # @private
5
5
  #
6
6
  class PooledNetRequester
7
- def initialize
8
- @mutex = Mutex.new
9
- @pools = {}
7
+ class << self
8
+ # @private
9
+ #
10
+ # @param url [URI::Generic]
11
+ #
12
+ # @return [Net::HTTP]
13
+ #
14
+ def connect(url)
15
+ port =
16
+ case [url.port, url.scheme]
17
+ in [Integer, _]
18
+ url.port
19
+ in [nil, "http" | "ws"]
20
+ Net::HTTP.http_default_port
21
+ in [nil, "https" | "wss"]
22
+ Net::HTTP.https_default_port
23
+ end
24
+
25
+ Net::HTTP.new(url.host, port).tap do
26
+ _1.use_ssl = %w[https wss].include?(url.scheme)
27
+ _1.max_retries = 0
28
+ end
29
+ end
30
+
31
+ # @private
32
+ #
33
+ # @param conn [Net::HTTP]
34
+ # @param deadline [Float]
35
+ #
36
+ def calibrate_socket_timeout(conn, deadline)
37
+ timeout = deadline - TerminalShop::Util.monotonic_secs
38
+ (conn.open_timeout = timeout) unless conn.started?
39
+ conn.read_timeout = conn.write_timeout = conn.continue_timeout = timeout
40
+ end
41
+
42
+ # @private
43
+ #
44
+ # @param request [Hash{Symbol=>Object}] .
45
+ #
46
+ # @option request [Symbol] :method
47
+ #
48
+ # @option request [URI::Generic] :url
49
+ #
50
+ # @option request [Hash{String=>String}] :headers
51
+ #
52
+ # @return [Net::HTTPGenericRequest]
53
+ #
54
+ def build_request(request)
55
+ method, url, headers, body = request.fetch_values(:method, :url, :headers, :body)
56
+ req = Net::HTTPGenericRequest.new(
57
+ method.to_s.upcase,
58
+ !body.nil?,
59
+ method != :head,
60
+ url.to_s
61
+ )
62
+
63
+ headers.each { req[_1] = _2 }
64
+
65
+ case body
66
+ in nil
67
+ in String
68
+ req.body = body
69
+ in StringIO
70
+ req.body = body.string
71
+ in IO
72
+ body.rewind
73
+ req.body_stream = body
74
+ end
75
+
76
+ req
77
+ end
10
78
  end
11
79
 
12
80
  # @private
13
81
  #
14
- # @param url [URL::Generic]
82
+ # @param url [URI::Generic]
15
83
  # @param blk [Proc]
16
84
  #
17
- # @return [ConnectionPool]
18
- #
19
85
  private def with_pool(url, &blk)
20
86
  origin = TerminalShop::Util.uri_origin(url)
21
- key = :"#{self.class.name}-connection_in_use_for_#{origin}"
87
+ th = Thread.current
88
+ key = :"#{object_id}-#{self.class.name}-connection_in_use_for_#{origin}"
22
89
 
23
- return blk.call(make_conn(url)) if Thread.current[key]
90
+ if th[key]
91
+ tap do
92
+ conn = self.class.connect(url)
93
+ return blk.call(conn)
94
+ ensure
95
+ conn.finish if conn&.started?
96
+ end
97
+ end
24
98
 
25
99
  pool =
26
100
  @mutex.synchronize do
27
101
  @pools[origin] ||= ConnectionPool.new(size: Etc.nprocessors) do
28
- make_conn(url)
102
+ self.class.connect(url)
29
103
  end
30
104
  end
31
105
 
32
106
  pool.with do |conn|
33
- Thread.current[key] = true
34
-
107
+ th[key] = true
35
108
  blk.call(conn)
36
- # rubocop:disable Lint/RescueException
37
- rescue Exception => e
38
- # rubocop:enable Lint/RescueException
39
- # should close connection on all errors to ensure no invalid state persists
40
- conn.finish if conn.started?
41
- raise e
42
109
  ensure
43
- Thread.current[key] = nil
110
+ th[key] = nil
44
111
  end
45
112
  end
46
113
 
47
114
  # @private
48
115
  #
49
- # @param url [URI::Generic]
116
+ # @param request [Hash{Symbol=>Object}] .
50
117
  #
51
- # @return [Net::HTTP]
118
+ # @option request [Symbol] :method
52
119
  #
53
- private def make_conn(url)
54
- port =
55
- case [url.port, url.scheme]
56
- in [Integer, _]
57
- url.port
58
- in [nil, "http" | "ws"]
59
- Net::HTTP.http_default_port
60
- in [nil, "https" | "wss"]
61
- Net::HTTP.https_default_port
62
- end
63
-
64
- Net::HTTP.new(url.host, port).tap do
65
- _1.use_ssl = %w[https wss].include?(url.scheme)
66
- _1.max_retries = 0
67
- end
68
- end
69
-
70
- # @private
71
- #
72
- # @param req [Hash{Symbol => Object}]
73
- # @option req [Symbol] :method
74
- # @option req [URI::Generic] :url
75
- # @option req [Hash{String => String}] :headers
76
- # @option req [String, Hash, IO, StringIO] :body
77
- # @option req [Float] :timeout
120
+ # @option request [URI::Generic] :url
78
121
  #
79
- # @return [Net::HTTPResponse]
122
+ # @option request [Hash{String=>String}] :headers
80
123
  #
81
- def execute(req)
82
- method, url, headers, body, timeout = req.fetch_values(:method, :url, :headers, :body, :timeout)
83
-
84
- request = Net::HTTPGenericRequest.new(
85
- method.to_s.upcase,
86
- !body.nil?,
87
- method != :head,
88
- url.to_s
89
- )
90
-
91
- headers.each { |k, v| request[k] = v }
92
- case body
93
- in String | nil
94
- request.body = body
95
- in IO | StringIO
96
- request.body_stream = body
97
- end
98
-
99
- with_pool(url) do |conn|
100
- make_request(conn, request, timeout)
101
- end
102
- end
103
-
104
- # @private
124
+ # @option request [Object] :body
105
125
  #
106
- # @param conn [Net::HTTP]
107
- # @param request [Net::HTTPGenericRequest]
108
- # @param timeout [Float]
126
+ # @option request [Float] :deadline
109
127
  #
110
- # @return [Net::HTTPResponse]
128
+ # @return [Array(Net::HTTPResponse, Enumerable)]
111
129
  #
112
- private def make_request(conn, request, timeout)
113
- unless conn.started?
114
- conn.open_timeout = timeout
115
- conn.start
130
+ def execute(request)
131
+ url, deadline = request.fetch_values(:url, :deadline)
132
+ req = self.class.build_request(request)
133
+
134
+ eof = false
135
+ enum = Enumerator.new do |y|
136
+ with_pool(url) do |conn|
137
+ conn.start unless conn.started?
138
+ self.class.calibrate_socket_timeout(conn, deadline)
139
+
140
+ conn.request(req) do |rsp|
141
+ y << [conn, rsp]
142
+ rsp.read_body do |bytes|
143
+ y << bytes
144
+ self.class.calibrate_socket_timeout(conn, deadline)
145
+ end
146
+ eof = true
147
+ end
148
+ end
116
149
  end
117
150
 
118
- conn.read_timeout = timeout
119
- conn.write_timeout = timeout
120
- conn.continue_timeout = timeout
151
+ # need to protect the `Enumerator` against `#.rewind`
152
+ fused = false
153
+ conn, response = enum.next
154
+ body = Enumerator.new do |y|
155
+ next if fused
121
156
 
122
- conn.request(request)
157
+ fused = true
158
+ loop { y << enum.next }
159
+ ensure
160
+ conn.finish if !eof && conn.started?
161
+ end
162
+ [response, (response.body = body)]
163
+ end
164
+
165
+ def initialize
166
+ @mutex = Mutex.new
167
+ @pools = {}
123
168
  end
124
169
  end
125
170
  end
@@ -13,6 +13,8 @@ module TerminalShop
13
13
  #
14
14
  # @option params [String] :redirect_uri Redirect URI of the app.
15
15
  #
16
+ # @option params [String] :secret OAuth 2.0 client secret of the app (obfuscated).
17
+ #
16
18
  # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
17
19
  #
18
20
  # @return [TerminalShop::Models::AppCreateResponse]
@@ -13,8 +13,6 @@ module TerminalShop
13
13
  #
14
14
  # @option params [String] :card_id ID of the card used for the subscription.
15
15
  #
16
- # @option params [Symbol, TerminalShop::Models::SubscriptionAPI::Frequency] :frequency Frequency of the subscription.
17
- #
18
16
  # @option params [String] :product_variant_id ID of the product variant being subscribed to.
19
17
  #
20
18
  # @option params [Integer] :quantity Quantity of the subscription.
@@ -6,6 +6,48 @@ module TerminalShop
6
6
  # @private
7
7
  #
8
8
  module Util
9
+ # @private
10
+ #
11
+ # @return [String]
12
+ #
13
+ def self.arch
14
+ case (arch = RbConfig::CONFIG["arch"])&.downcase
15
+ in nil
16
+ "unknown"
17
+ in /aarch64|arm64/
18
+ "arm64"
19
+ in /x86_64/
20
+ "x64"
21
+ in /arm/
22
+ "arm"
23
+ else
24
+ "other:#{arch}"
25
+ end
26
+ end
27
+
28
+ # @private
29
+ #
30
+ # @return [String]
31
+ #
32
+ def self.os
33
+ case (host = RbConfig::CONFIG["host_os"])&.downcase
34
+ in nil
35
+ "Unknown"
36
+ in /linux/
37
+ "Linux"
38
+ in /darwin/
39
+ "MacOS"
40
+ in /freebsd/
41
+ "FreeBSD"
42
+ in /openbsd/
43
+ "OpenBSD"
44
+ in /mswin|mingw|cygwin|ucrt/
45
+ "Windows"
46
+ else
47
+ "Other:#{host}"
48
+ end
49
+ end
50
+
9
51
  # @private
10
52
  #
11
53
  # @param input [Object]
@@ -105,6 +147,12 @@ module TerminalShop
105
147
  end
106
148
  end
107
149
 
150
+ # @private
151
+ #
152
+ # @return [Float]
153
+ #
154
+ def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC)
155
+
108
156
  # @private
109
157
  #
110
158
  # @param exceptions [Array<Exception>]
@@ -384,6 +432,11 @@ module TerminalShop
384
432
  "transfer-encoding" => "chunked"
385
433
  }
386
434
  [headers, strio]
435
+ in [_, StringIO]
436
+ [headers, body.string]
437
+ in [_, IO]
438
+ headers = {**headers, "transfer-encoding" => "chunked"}
439
+ [headers, body]
387
440
  else
388
441
  [headers, body]
389
442
  end
@@ -391,24 +444,28 @@ module TerminalShop
391
444
 
392
445
  # @private
393
446
  #
394
- # @param response [Net::HTTPResponse]
447
+ # @param headers [Hash{String=>String}, Net::HTTPHeader]
448
+ # @param stream [Enumerable]
395
449
  # @param suppress_error [Boolean]
396
450
  #
397
451
  # @raise [JSON::ParserError]
398
452
  # @return [Object]
399
453
  #
400
- def self.decode_content(response, suppress_error: false)
401
- case response.content_type
402
- in "application/json"
454
+ def self.decode_content(headers, stream:, suppress_error: false)
455
+ case headers["content-type"]
456
+ in %r{^application/json}
457
+ json = stream.to_a.join
403
458
  begin
404
- JSON.parse(response.body, symbolize_names: true)
459
+ JSON.parse(json, symbolize_names: true)
405
460
  rescue JSON::ParserError => e
406
461
  raise e unless suppress_error
407
- response.body
462
+ json
408
463
  end
464
+ in %r{^text/}
465
+ stream.to_a.join
409
466
  else
410
467
  # TODO: parsing other response types
411
- response.body
468
+ StringIO.new(stream.to_a.join)
412
469
  end
413
470
  end
414
471
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TerminalShop
4
- VERSION = "0.1.0-alpha.10"
4
+ VERSION = "0.1.0-alpha.12"
5
5
  end
data/lib/terminal-shop.rb CHANGED
@@ -7,6 +7,7 @@ require "erb"
7
7
  require "etc"
8
8
  require "json"
9
9
  require "net/http"
10
+ require "rbconfig"
10
11
  require "securerandom"
11
12
  require "set"
12
13
  require "stringio"
@@ -17,94 +18,94 @@ require "uri"
17
18
  require "connection_pool"
18
19
 
19
20
  # Package files.
20
- require_relative "terminal-shop/pooled_net_requester"
21
21
  require_relative "terminal-shop/version"
22
22
  require_relative "terminal-shop/util"
23
23
  require_relative "terminal-shop/extern"
24
24
  require_relative "terminal-shop/base_model"
25
25
  require_relative "terminal-shop/base_page"
26
26
  require_relative "terminal-shop/request_options"
27
- require_relative "terminal-shop/base_client"
28
27
  require_relative "terminal-shop/errors"
29
- require_relative "terminal-shop/models/product"
30
- require_relative "terminal-shop/models/product_variant"
31
- require_relative "terminal-shop/models/product_list_response"
32
- require_relative "terminal-shop/models/profile"
33
- require_relative "terminal-shop/models/profile_update_response"
34
- require_relative "terminal-shop/models/profile_me_response"
28
+ require_relative "terminal-shop/base_client"
29
+ require_relative "terminal-shop/pooled_net_requester"
30
+ require_relative "terminal-shop/client"
31
+ require_relative "terminal-shop/models/app"
32
+ require_relative "terminal-shop/models/subscription"
35
33
  require_relative "terminal-shop/models/address"
34
+ require_relative "terminal-shop/models/address_create_params"
36
35
  require_relative "terminal-shop/models/address_create_response"
37
- require_relative "terminal-shop/models/address_list_response"
36
+ require_relative "terminal-shop/models/address_delete_params"
38
37
  require_relative "terminal-shop/models/address_delete_response"
38
+ require_relative "terminal-shop/models/address_list_params"
39
+ require_relative "terminal-shop/models/address_list_response"
40
+ require_relative "terminal-shop/models/app_create_params"
41
+ require_relative "terminal-shop/models/app_create_response"
42
+ require_relative "terminal-shop/models/app_delete_params"
43
+ require_relative "terminal-shop/models/app_delete_response"
44
+ require_relative "terminal-shop/models/app_get_params"
45
+ require_relative "terminal-shop/models/app_get_response"
46
+ require_relative "terminal-shop/models/app_list_params"
47
+ require_relative "terminal-shop/models/app_list_response"
39
48
  require_relative "terminal-shop/models/card"
49
+ require_relative "terminal-shop/models/card_collect_params"
50
+ require_relative "terminal-shop/models/card_collect_response"
51
+ require_relative "terminal-shop/models/card_create_params"
40
52
  require_relative "terminal-shop/models/card_create_response"
41
- require_relative "terminal-shop/models/card_list_response"
53
+ require_relative "terminal-shop/models/card_delete_params"
42
54
  require_relative "terminal-shop/models/card_delete_response"
43
- require_relative "terminal-shop/models/card_collect_response"
55
+ require_relative "terminal-shop/models/card_list_params"
56
+ require_relative "terminal-shop/models/card_list_response"
44
57
  require_relative "terminal-shop/models/cart"
58
+ require_relative "terminal-shop/models/cart_convert_params"
45
59
  require_relative "terminal-shop/models/cart_convert_response"
60
+ require_relative "terminal-shop/models/cart_get_params"
46
61
  require_relative "terminal-shop/models/cart_get_response"
62
+ require_relative "terminal-shop/models/cart_set_address_params"
47
63
  require_relative "terminal-shop/models/cart_set_address_response"
64
+ require_relative "terminal-shop/models/cart_set_card_params"
48
65
  require_relative "terminal-shop/models/cart_set_card_response"
66
+ require_relative "terminal-shop/models/cart_set_item_params"
49
67
  require_relative "terminal-shop/models/cart_set_item_response"
68
+ require_relative "terminal-shop/models/email_create_params"
69
+ require_relative "terminal-shop/models/email_create_response"
50
70
  require_relative "terminal-shop/models/order"
51
- require_relative "terminal-shop/models/order_list_response"
71
+ require_relative "terminal-shop/models/order_get_params"
52
72
  require_relative "terminal-shop/models/order_get_response"
53
- require_relative "terminal-shop/models/subscription"
54
- require_relative "terminal-shop/models/subscription_create_response"
55
- require_relative "terminal-shop/models/subscription_list_response"
56
- require_relative "terminal-shop/models/subscription_delete_response"
57
- require_relative "terminal-shop/models/token"
58
- require_relative "terminal-shop/models/token_create_response"
59
- require_relative "terminal-shop/models/token_list_response"
60
- require_relative "terminal-shop/models/token_delete_response"
61
- require_relative "terminal-shop/models/token_get_response"
62
- require_relative "terminal-shop/models/app"
63
- require_relative "terminal-shop/models/app_create_response"
64
- require_relative "terminal-shop/models/app_list_response"
65
- require_relative "terminal-shop/models/app_delete_response"
66
- require_relative "terminal-shop/models/app_get_response"
67
- require_relative "terminal-shop/models/email_create_response"
68
- require_relative "terminal-shop/models/view_init_response"
73
+ require_relative "terminal-shop/models/order_list_params"
74
+ require_relative "terminal-shop/models/order_list_response"
75
+ require_relative "terminal-shop/models/product"
69
76
  require_relative "terminal-shop/models/product_list_params"
70
- require_relative "terminal-shop/models/profile_update_params"
77
+ require_relative "terminal-shop/models/product_list_response"
78
+ require_relative "terminal-shop/models/product_variant"
79
+ require_relative "terminal-shop/models/profile"
71
80
  require_relative "terminal-shop/models/profile_me_params"
72
- require_relative "terminal-shop/models/address_create_params"
73
- require_relative "terminal-shop/models/address_list_params"
74
- require_relative "terminal-shop/models/address_delete_params"
75
- require_relative "terminal-shop/models/card_create_params"
76
- require_relative "terminal-shop/models/card_list_params"
77
- require_relative "terminal-shop/models/card_delete_params"
78
- require_relative "terminal-shop/models/card_collect_params"
79
- require_relative "terminal-shop/models/cart_convert_params"
80
- require_relative "terminal-shop/models/cart_get_params"
81
- require_relative "terminal-shop/models/cart_set_address_params"
82
- require_relative "terminal-shop/models/cart_set_card_params"
83
- require_relative "terminal-shop/models/cart_set_item_params"
84
- require_relative "terminal-shop/models/order_list_params"
85
- require_relative "terminal-shop/models/order_get_params"
81
+ require_relative "terminal-shop/models/profile_me_response"
82
+ require_relative "terminal-shop/models/profile_update_params"
83
+ require_relative "terminal-shop/models/profile_update_response"
86
84
  require_relative "terminal-shop/models/subscription_create_params"
87
- require_relative "terminal-shop/models/subscription_list_params"
85
+ require_relative "terminal-shop/models/subscription_create_response"
88
86
  require_relative "terminal-shop/models/subscription_delete_params"
87
+ require_relative "terminal-shop/models/subscription_delete_response"
88
+ require_relative "terminal-shop/models/subscription_list_params"
89
+ require_relative "terminal-shop/models/subscription_list_response"
90
+ require_relative "terminal-shop/models/token"
89
91
  require_relative "terminal-shop/models/token_create_params"
90
- require_relative "terminal-shop/models/token_list_params"
92
+ require_relative "terminal-shop/models/token_create_response"
91
93
  require_relative "terminal-shop/models/token_delete_params"
94
+ require_relative "terminal-shop/models/token_delete_response"
92
95
  require_relative "terminal-shop/models/token_get_params"
93
- require_relative "terminal-shop/models/app_create_params"
94
- require_relative "terminal-shop/models/app_list_params"
95
- require_relative "terminal-shop/models/app_delete_params"
96
- require_relative "terminal-shop/models/app_get_params"
97
- require_relative "terminal-shop/models/email_create_params"
96
+ require_relative "terminal-shop/models/token_get_response"
97
+ require_relative "terminal-shop/models/token_list_params"
98
+ require_relative "terminal-shop/models/token_list_response"
98
99
  require_relative "terminal-shop/models/view_init_params"
99
- require_relative "terminal-shop/client"
100
- require_relative "terminal-shop/resources/product"
101
- require_relative "terminal-shop/resources/profile"
100
+ require_relative "terminal-shop/models/view_init_response"
102
101
  require_relative "terminal-shop/resources/address"
102
+ require_relative "terminal-shop/resources/app"
103
103
  require_relative "terminal-shop/resources/card"
104
104
  require_relative "terminal-shop/resources/cart"
105
+ require_relative "terminal-shop/resources/email"
105
106
  require_relative "terminal-shop/resources/order"
107
+ require_relative "terminal-shop/resources/product"
108
+ require_relative "terminal-shop/resources/profile"
106
109
  require_relative "terminal-shop/resources/subscription"
107
110
  require_relative "terminal-shop/resources/token"
108
- require_relative "terminal-shop/resources/app"
109
- require_relative "terminal-shop/resources/email"
110
111
  require_relative "terminal-shop/resources/view"
data/manifest.yaml CHANGED
@@ -5,6 +5,7 @@ dependencies:
5
5
  - etc
6
6
  - json
7
7
  - net/http
8
+ - rbconfig
8
9
  - securerandom
9
10
  - set
10
11
  - stringio