noths 0.1.0 → 0.2.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/Gemfile.lock +2 -2
- data/README.md +10 -23
- data/bin/generate_gem +3 -1
- data/bin/refresh_schemas +22 -16
- data/docs/AcceptanceBulkModel.md +2 -2
- data/docs/DispatchBulkModel.md +1 -1
- data/docs/Financials.md +1 -1
- data/docs/Order.md +12 -11
- data/docs/OrdersApi.md +104 -151
- data/docs/RefundsApi.md +8 -12
- data/git_push.sh +55 -0
- data/lib/noths.rb +1 -11
- data/lib/noths/api/orders_api.rb +234 -114
- data/lib/noths/api/refunds_api.rb +25 -15
- data/lib/noths/api_client.rb +3 -12
- data/lib/noths/api_error.rb +16 -11
- data/lib/noths/configuration.rb +3 -20
- data/lib/noths/models/acceptance_bulk_model.rb +3 -14
- data/lib/noths/models/currency.rb +1 -12
- data/lib/noths/models/decline_bulk_model.rb +1 -12
- data/lib/noths/models/delivery_address.rb +1 -12
- data/lib/noths/models/delivery_service.rb +1 -12
- data/lib/noths/models/delivery_zone.rb +1 -12
- data/lib/noths/models/dispatch_bulk_model.rb +2 -13
- data/lib/noths/models/dispatch_notes_bulk_model.rb +1 -12
- data/lib/noths/models/enquiry.rb +1 -12
- data/lib/noths/models/enquiry_message.rb +1 -12
- data/lib/noths/models/error.rb +1 -12
- data/lib/noths/models/financials.rb +5 -14
- data/lib/noths/models/financials_details.rb +1 -12
- data/lib/noths/models/image_url.rb +1 -12
- data/lib/noths/models/item.rb +1 -12
- data/lib/noths/models/item_financials.rb +1 -12
- data/lib/noths/models/link.rb +1 -12
- data/lib/noths/models/manual_payment.rb +1 -12
- data/lib/noths/models/money.rb +1 -12
- data/lib/noths/models/order.rb +28 -28
- data/lib/noths/models/order_detail.rb +1 -12
- data/lib/noths/models/order_details_bulk_model.rb +1 -12
- data/lib/noths/models/order_index.rb +1 -12
- data/lib/noths/models/order_refund.rb +1 -12
- data/lib/noths/models/product.rb +1 -12
- data/lib/noths/models/product_option.rb +1 -12
- data/lib/noths/models/refund_response.rb +1 -12
- data/lib/noths/models/search_result_meta.rb +1 -12
- data/lib/noths/models/user.rb +1 -12
- data/lib/noths/version.rb +2 -12
- data/noths.gemspec +1 -11
- data/schemas/api-docs.json +3 -7
- data/schemas/orders.json +163 -88
- data/schemas/refunds.json +10 -5
- data/spec/api/orders_api_spec.rb +53 -99
- data/spec/api/refunds_api_spec.rb +6 -28
- data/spec/api_client_spec.rb +2 -14
- data/spec/configuration_spec.rb +9 -25
- data/spec/models/acceptance_bulk_model_spec.rb +7 -38
- data/spec/models/currency_spec.rb +7 -38
- data/spec/models/decline_bulk_model_spec.rb +5 -32
- data/spec/models/delivery_address_spec.rb +9 -44
- data/spec/models/delivery_service_spec.rb +5 -32
- data/spec/models/delivery_zone_spec.rb +5 -32
- data/spec/models/dispatch_bulk_model_spec.rb +8 -41
- data/spec/models/dispatch_notes_bulk_model_spec.rb +4 -29
- data/spec/models/enquiry_message_spec.rb +4 -29
- data/spec/models/enquiry_spec.rb +6 -35
- data/spec/models/error_spec.rb +5 -32
- data/spec/models/financials_details_spec.rb +6 -35
- data/spec/models/financials_spec.rb +21 -80
- data/spec/models/image_url_spec.rb +9 -44
- data/spec/models/item_financials_spec.rb +9 -44
- data/spec/models/item_spec.rb +11 -50
- data/spec/models/link_spec.rb +6 -35
- data/spec/models/manual_payment_spec.rb +7 -38
- data/spec/models/money_spec.rb +5 -32
- data/spec/models/order_detail_spec.rb +5 -32
- data/spec/models/order_details_bulk_model_spec.rb +4 -29
- data/spec/models/order_index_spec.rb +6 -35
- data/spec/models/order_refund_spec.rb +4 -29
- data/spec/models/order_spec.rb +53 -164
- data/spec/models/product_option_spec.rb +5 -32
- data/spec/models/product_spec.rb +8 -41
- data/spec/models/refund_response_spec.rb +6 -35
- data/spec/models/search_result_meta_spec.rb +5 -32
- data/spec/models/user_spec.rb +6 -35
- data/spec/spec_helper.rb +1 -11
- data/swagger_config.json +1 -1
- data/templates/Gemfile.mustache +7 -0
- data/templates/README.mustache +127 -0
- data/templates/Rakefile.mustache +8 -0
- data/templates/api.mustache +194 -0
- data/templates/api_client.mustache +383 -0
- data/templates/api_client_spec.mustache +214 -0
- data/templates/api_doc.mustache +79 -0
- data/templates/api_error.mustache +43 -0
- data/templates/api_info.mustache +12 -0
- data/templates/api_test.mustache +29 -0
- data/templates/base_object.mustache +102 -0
- data/templates/base_object_spec.mustache +107 -0
- data/templates/configuration.mustache +221 -0
- data/templates/configuration_spec.mustache +26 -0
- data/templates/gem.mustache +38 -0
- data/templates/gemspec.mustache +41 -0
- data/templates/git_push.sh.mustache +55 -0
- data/templates/gitignore.mustache +35 -0
- data/templates/model.mustache +7 -0
- data/templates/model_doc.mustache +9 -0
- data/templates/model_test.mustache +19 -0
- data/templates/partial_model_enum_class.mustache +13 -0
- data/templates/partial_model_generic.mustache +275 -0
- data/templates/rspec.mustache +2 -0
- data/templates/spec_helper.mustache +101 -0
- data/templates/version.mustache +5 -0
- metadata +30 -3
|
@@ -1,53 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
#Noths
|
|
3
|
-
|
|
4
|
-
#www.notonthehighstreet.com API client
|
|
5
|
-
|
|
6
|
-
OpenAPI spec version: 1.0
|
|
7
|
-
|
|
8
|
-
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
-
Swagger Codegen version: 2.3.1
|
|
10
|
-
|
|
11
|
-
=end
|
|
12
|
-
|
|
13
|
-
require 'spec_helper'
|
|
14
|
-
require 'json'
|
|
15
|
-
require 'date'
|
|
1
|
+
# frozen_string_literal: true
|
|
16
2
|
|
|
17
3
|
# Unit tests for Noths::RefundResponse
|
|
18
|
-
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
19
|
-
# Please update as you see appropriate
|
|
20
4
|
describe 'RefundResponse' do
|
|
21
|
-
|
|
22
|
-
# run before each test
|
|
23
|
-
@instance = Noths::RefundResponse.new
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
after do
|
|
27
|
-
# run after each test
|
|
28
|
-
end
|
|
5
|
+
let(:instance) { Noths::RefundResponse.new }
|
|
29
6
|
|
|
30
7
|
describe 'test an instance of RefundResponse' do
|
|
31
8
|
it 'should create an instance of RefundResponse' do
|
|
32
|
-
expect(
|
|
9
|
+
expect(instance).to be_instance_of(Noths::RefundResponse)
|
|
33
10
|
end
|
|
34
11
|
end
|
|
35
12
|
describe 'test attribute "status"' do
|
|
36
|
-
it 'should work'
|
|
37
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
38
|
-
end
|
|
13
|
+
it 'should work'
|
|
39
14
|
end
|
|
40
15
|
|
|
41
16
|
describe 'test attribute "errors"' do
|
|
42
|
-
it 'should work'
|
|
43
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
44
|
-
end
|
|
17
|
+
it 'should work'
|
|
45
18
|
end
|
|
46
19
|
|
|
47
20
|
describe 'test attribute "order_refund"' do
|
|
48
|
-
it 'should work'
|
|
49
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
50
|
-
end
|
|
21
|
+
it 'should work'
|
|
51
22
|
end
|
|
52
23
|
|
|
53
24
|
end
|
|
@@ -1,47 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
#Noths
|
|
3
|
-
|
|
4
|
-
#www.notonthehighstreet.com API client
|
|
5
|
-
|
|
6
|
-
OpenAPI spec version: 1.0
|
|
7
|
-
|
|
8
|
-
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
-
Swagger Codegen version: 2.3.1
|
|
10
|
-
|
|
11
|
-
=end
|
|
12
|
-
|
|
13
|
-
require 'spec_helper'
|
|
14
|
-
require 'json'
|
|
15
|
-
require 'date'
|
|
1
|
+
# frozen_string_literal: true
|
|
16
2
|
|
|
17
3
|
# Unit tests for Noths::SearchResultMeta
|
|
18
|
-
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
19
|
-
# Please update as you see appropriate
|
|
20
4
|
describe 'SearchResultMeta' do
|
|
21
|
-
|
|
22
|
-
# run before each test
|
|
23
|
-
@instance = Noths::SearchResultMeta.new
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
after do
|
|
27
|
-
# run after each test
|
|
28
|
-
end
|
|
5
|
+
let(:instance) { Noths::SearchResultMeta.new }
|
|
29
6
|
|
|
30
7
|
describe 'test an instance of SearchResultMeta' do
|
|
31
8
|
it 'should create an instance of SearchResultMeta' do
|
|
32
|
-
expect(
|
|
9
|
+
expect(instance).to be_instance_of(Noths::SearchResultMeta)
|
|
33
10
|
end
|
|
34
11
|
end
|
|
35
12
|
describe 'test attribute "results"' do
|
|
36
|
-
it 'should work'
|
|
37
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
38
|
-
end
|
|
13
|
+
it 'should work'
|
|
39
14
|
end
|
|
40
15
|
|
|
41
16
|
describe 'test attribute "total"' do
|
|
42
|
-
it 'should work'
|
|
43
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
44
|
-
end
|
|
17
|
+
it 'should work'
|
|
45
18
|
end
|
|
46
19
|
|
|
47
20
|
end
|
data/spec/models/user_spec.rb
CHANGED
|
@@ -1,53 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
#Noths
|
|
3
|
-
|
|
4
|
-
#www.notonthehighstreet.com API client
|
|
5
|
-
|
|
6
|
-
OpenAPI spec version: 1.0
|
|
7
|
-
|
|
8
|
-
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
-
Swagger Codegen version: 2.3.1
|
|
10
|
-
|
|
11
|
-
=end
|
|
12
|
-
|
|
13
|
-
require 'spec_helper'
|
|
14
|
-
require 'json'
|
|
15
|
-
require 'date'
|
|
1
|
+
# frozen_string_literal: true
|
|
16
2
|
|
|
17
3
|
# Unit tests for Noths::User
|
|
18
|
-
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
19
|
-
# Please update as you see appropriate
|
|
20
4
|
describe 'User' do
|
|
21
|
-
|
|
22
|
-
# run before each test
|
|
23
|
-
@instance = Noths::User.new
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
after do
|
|
27
|
-
# run after each test
|
|
28
|
-
end
|
|
5
|
+
let(:instance) { Noths::User.new }
|
|
29
6
|
|
|
30
7
|
describe 'test an instance of User' do
|
|
31
8
|
it 'should create an instance of User' do
|
|
32
|
-
expect(
|
|
9
|
+
expect(instance).to be_instance_of(Noths::User)
|
|
33
10
|
end
|
|
34
11
|
end
|
|
35
12
|
describe 'test attribute "name"' do
|
|
36
|
-
it 'should work'
|
|
37
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
38
|
-
end
|
|
13
|
+
it 'should work'
|
|
39
14
|
end
|
|
40
15
|
|
|
41
16
|
describe 'test attribute "telephone"' do
|
|
42
|
-
it 'should work'
|
|
43
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
44
|
-
end
|
|
17
|
+
it 'should work'
|
|
45
18
|
end
|
|
46
19
|
|
|
47
20
|
describe 'test attribute "telephone_country_code"' do
|
|
48
|
-
it 'should work'
|
|
49
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
50
|
-
end
|
|
21
|
+
it 'should work'
|
|
51
22
|
end
|
|
52
23
|
|
|
53
24
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
#Noths
|
|
3
|
-
|
|
4
|
-
#www.notonthehighstreet.com API client
|
|
5
|
-
|
|
6
|
-
OpenAPI spec version: 1.0
|
|
7
|
-
|
|
8
|
-
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
-
Swagger Codegen version: 2.3.1
|
|
10
|
-
|
|
11
|
-
=end
|
|
1
|
+
# frozen_string_literal: true
|
|
12
2
|
|
|
13
3
|
# load the gem
|
|
14
4
|
require 'noths'
|
data/swagger_config.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"gemAuthorEmail":"rustam@sharshenov.com",
|
|
9
9
|
"gemHomepage":"https://github.com/veeqo/noths",
|
|
10
10
|
"gemLicense":"MIT",
|
|
11
|
-
"gemVersion":"0.
|
|
11
|
+
"gemVersion":"0.2.0",
|
|
12
12
|
"moduleName":"Noths",
|
|
13
13
|
"gemSummary":"Swagger client for https://www.notonthehighstreet.com/",
|
|
14
14
|
"gemDescription":"Swagger client for https://www.notonthehighstreet.com/"
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# {{gemName}}
|
|
2
|
+
|
|
3
|
+
{{moduleName}} - the Ruby gem for the www.notonthehighstreet.com API
|
|
4
|
+
|
|
5
|
+
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
|
|
6
|
+
|
|
7
|
+
- API version: {{appVersion}}
|
|
8
|
+
- Package version: {{gemVersion}}
|
|
9
|
+
{{^hideGenerationTimestamp}}
|
|
10
|
+
- Build date: {{generatedDate}}
|
|
11
|
+
{{/hideGenerationTimestamp}}
|
|
12
|
+
- Build package: {{generatorClass}}
|
|
13
|
+
{{#infoUrl}}
|
|
14
|
+
For more information, please visit [{{{infoUrl}}}]({{{infoUrl}}})
|
|
15
|
+
{{/infoUrl}}
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
### Build a gem
|
|
20
|
+
|
|
21
|
+
To build the Ruby code into a gem:
|
|
22
|
+
|
|
23
|
+
```shell
|
|
24
|
+
gem build {{{gemName}}}.gemspec
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then either install the gem locally:
|
|
28
|
+
|
|
29
|
+
```shell
|
|
30
|
+
gem install ./{{{gemName}}}-{{{gemVersion}}}.gem
|
|
31
|
+
```
|
|
32
|
+
(for development, run `gem install --dev ./{{{gemName}}}-{{{gemVersion}}}.gem` to install the development dependencies)
|
|
33
|
+
|
|
34
|
+
or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
|
|
35
|
+
|
|
36
|
+
Finally add this to the Gemfile:
|
|
37
|
+
|
|
38
|
+
gem '{{{gemName}}}', '~> {{{gemVersion}}}'
|
|
39
|
+
|
|
40
|
+
### Install from Git
|
|
41
|
+
|
|
42
|
+
If the Ruby gem is hosted at a git repository: https://github.com/{{#gitUserId}}{{.}}{{/gitUserId}}{{^gitUserId}}YOUR_GIT_USERNAME{{/gitUserId}}/{{#gitRepoId}}{{.}}{{/gitRepoId}}{{^gitRepoId}}YOUR_GIT_REPO{{/gitRepoId}}, then add the following in the Gemfile:
|
|
43
|
+
|
|
44
|
+
gem '{{{gemName}}}', :git => 'https://github.com/{{#gitUserId}}{{.}}{{/gitUserId}}{{^gitUserId}}YOUR_GIT_USERNAME{{/gitUserId}}/{{#gitRepoId}}{{.}}{{/gitRepoId}}{{^gitRepoId}}YOUR_GIT_REPO{{/gitRepoId}}.git'
|
|
45
|
+
|
|
46
|
+
### Include the Ruby code directly
|
|
47
|
+
|
|
48
|
+
Include the Ruby code directly using `-I` as follows:
|
|
49
|
+
|
|
50
|
+
```shell
|
|
51
|
+
ruby -Ilib script.rb
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Getting Started
|
|
55
|
+
|
|
56
|
+
Please follow the [installation](#installation) procedure and then run the following code:
|
|
57
|
+
```ruby
|
|
58
|
+
# Load the gem
|
|
59
|
+
require '{{{gemName}}}'
|
|
60
|
+
{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}{{#hasAuthMethods}}
|
|
61
|
+
# Setup authorization
|
|
62
|
+
{{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}
|
|
63
|
+
# Configure HTTP basic authorization: {{{name}}}
|
|
64
|
+
config.username = 'YOUR USERNAME'
|
|
65
|
+
config.password = 'YOUR PASSWORD'{{/isBasic}}{{#isApiKey}}
|
|
66
|
+
# Configure API key authorization: {{{name}}}
|
|
67
|
+
config.api_key['{{{keyParamName}}}'] = 'YOUR API KEY'
|
|
68
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
69
|
+
#config.api_key_prefix['{{{keyParamName}}}'] = 'Bearer'{{/isApiKey}}{{#isOAuth}}
|
|
70
|
+
# Configure OAuth2 access token for authorization: {{{name}}}
|
|
71
|
+
config.access_token = 'YOUR ACCESS TOKEN'{{/isOAuth}}
|
|
72
|
+
{{/authMethods}}end
|
|
73
|
+
{{/hasAuthMethods}}
|
|
74
|
+
|
|
75
|
+
api_instance = {{{moduleName}}}::{{{classname}}}.new{{#hasParams}}
|
|
76
|
+
{{#vendorExtensions.x-codegen-hasRequiredParams}}{{#allParams}}{{#required}}
|
|
77
|
+
{{{paramName}}} = {{{example}}} # {{{dataType}}} | {{{description}}}
|
|
78
|
+
{{/required}}{{/allParams}}{{/vendorExtensions.x-codegen-hasRequiredParams}}{{#hasOptionalParams}}
|
|
79
|
+
opts = { {{#allParams}}{{^required}}
|
|
80
|
+
{{{paramName}}}: {{{example}}}{{#vendorExtensions.x-codegen-hasMoreOptional}},{{/vendorExtensions.x-codegen-hasMoreOptional}} # {{{dataType}}} | {{{description}}}{{/required}}{{/allParams}}
|
|
81
|
+
}{{/hasOptionalParams}}{{/hasParams}}
|
|
82
|
+
|
|
83
|
+
begin
|
|
84
|
+
{{#summary}} #{{{.}}}
|
|
85
|
+
{{/summary}} {{#returnType}}result = {{/returnType}}api_instance.{{{operationId}}}{{#hasParams}}({{#allParams}}{{#required}}{{{paramName}}}{{#vendorExtensions.x-codegen-hasMoreRequired}}, {{/vendorExtensions.x-codegen-hasMoreRequired}}{{/required}}{{/allParams}}{{#hasOptionalParams}}{{#vendorExtensions.x-codegen-hasRequiredParams}}, {{/vendorExtensions.x-codegen-hasRequiredParams}}opts{{/hasOptionalParams}}){{/hasParams}}{{#returnType}}
|
|
86
|
+
p result{{/returnType}}
|
|
87
|
+
rescue {{{moduleName}}}::ApiError => e
|
|
88
|
+
puts "Exception when calling {{classname}}->{{{operationId}}}: #{e}"
|
|
89
|
+
end
|
|
90
|
+
{{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Documentation for API Endpoints
|
|
94
|
+
|
|
95
|
+
All URIs are relative to https://api.notonthehighstreet.com
|
|
96
|
+
|
|
97
|
+
Class | Method | HTTP request | Description
|
|
98
|
+
------------ | ------------- | ------------- | -------------
|
|
99
|
+
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{moduleName}}::{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{#summary}}{{{summary}}}{{/summary}}
|
|
100
|
+
{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
|
|
101
|
+
|
|
102
|
+
## Documentation for Models
|
|
103
|
+
|
|
104
|
+
{{#models}}{{#model}} - [{{moduleName}}::{{classname}}]({{modelDocPath}}{{classname}}.md)
|
|
105
|
+
{{/model}}{{/models}}
|
|
106
|
+
|
|
107
|
+
## Documentation for Authorization
|
|
108
|
+
|
|
109
|
+
{{^authMethods}} All endpoints do not require authorization.
|
|
110
|
+
{{/authMethods}}{{#authMethods}}{{#last}} Authentication schemes defined for the API:{{/last}}{{/authMethods}}
|
|
111
|
+
{{#authMethods}}### {{name}}
|
|
112
|
+
|
|
113
|
+
{{#isApiKey}}- **Type**: API key
|
|
114
|
+
- **API key parameter name**: {{keyParamName}}
|
|
115
|
+
- **Location**: {{#isKeyInQuery}}URL query string{{/isKeyInQuery}}{{#isKeyInHeader}}HTTP header{{/isKeyInHeader}}
|
|
116
|
+
{{/isApiKey}}
|
|
117
|
+
{{#isBasic}}- **Type**: HTTP basic authentication
|
|
118
|
+
{{/isBasic}}
|
|
119
|
+
{{#isOAuth}}- **Type**: OAuth
|
|
120
|
+
- **Flow**: {{flow}}
|
|
121
|
+
- **Authorization URL**: {{authorizationUrl}}
|
|
122
|
+
- **Scopes**: {{^scopes}}N/A{{/scopes}}
|
|
123
|
+
{{#scopes}} - {{scope}}: {{description}}
|
|
124
|
+
{{/scopes}}
|
|
125
|
+
{{/isOAuth}}
|
|
126
|
+
|
|
127
|
+
{{/authMethods}}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "uri"
|
|
4
|
+
|
|
5
|
+
module {{moduleName}}
|
|
6
|
+
{{#operations}}
|
|
7
|
+
class {{classname}}
|
|
8
|
+
attr_accessor :api_client
|
|
9
|
+
|
|
10
|
+
def initialize(api_client = ApiClient.default)
|
|
11
|
+
@api_client = api_client
|
|
12
|
+
end
|
|
13
|
+
{{#operation}}
|
|
14
|
+
{{newline}}
|
|
15
|
+
# {{{summary}}}
|
|
16
|
+
# {{{notes}}}
|
|
17
|
+
{{#allParams}}{{#required}} # @param {{paramName}} {{description}}
|
|
18
|
+
{{/required}}{{/allParams}} # @param [Hash] opts the optional parameters
|
|
19
|
+
{{#allParams}}{{^required}} # @option opts [{{{dataType}}}] :{{paramName}} {{description}}{{#defaultValue}} (default to {{{.}}}){{/defaultValue}}
|
|
20
|
+
{{/required}}{{/allParams}} # @return [{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}nil{{/returnType}}]
|
|
21
|
+
def {{operationId}}({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}opts = {})
|
|
22
|
+
{{#returnType}}data, _status_code, _headers = {{/returnType}}{{operationId}}_with_http_info({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}opts)
|
|
23
|
+
{{#returnType}}return data{{/returnType}}{{^returnType}}return nil{{/returnType}}
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# {{summary}}
|
|
27
|
+
# {{notes}}
|
|
28
|
+
{{#allParams}}{{#required}} # @param {{paramName}} {{description}}
|
|
29
|
+
{{/required}}{{/allParams}} # @param [Hash] opts the optional parameters
|
|
30
|
+
{{#allParams}}{{^required}} # @option opts [{{{dataType}}}] :{{paramName}} {{description}}
|
|
31
|
+
{{/required}}{{/allParams}} # @return [Array<({{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}nil{{/returnType}}, Fixnum, Hash)>] {{#returnType}}{{{returnType}}} data{{/returnType}}{{^returnType}}nil{{/returnType}}, response status code and response headers
|
|
32
|
+
def {{operationId}}_with_http_info({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}opts = {})
|
|
33
|
+
if @api_client.config.debugging
|
|
34
|
+
@api_client.config.logger.debug "Calling API: {{classname}}.{{operationId}} ..."
|
|
35
|
+
end
|
|
36
|
+
{{#allParams}}
|
|
37
|
+
{{#required}}
|
|
38
|
+
# verify the required parameter '{{paramName}}' is set
|
|
39
|
+
if @api_client.config.client_side_validation && {{{paramName}}}.nil?
|
|
40
|
+
fail ArgumentError, "Missing the required parameter '{{paramName}}' when calling {{classname}}.{{operationId}}"
|
|
41
|
+
end
|
|
42
|
+
{{#isEnum}}
|
|
43
|
+
{{^isContainer}}
|
|
44
|
+
# verify enum value
|
|
45
|
+
if @api_client.config.client_side_validation && ![{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}].include?({{{paramName}}})
|
|
46
|
+
fail ArgumentError, "invalid value for '{{{paramName}}}', must be one of {{#allowableValues}}{{#values}}{{{this}}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}"
|
|
47
|
+
end
|
|
48
|
+
{{/isContainer}}
|
|
49
|
+
{{/isEnum}}
|
|
50
|
+
{{/required}}
|
|
51
|
+
{{^required}}
|
|
52
|
+
{{#isEnum}}
|
|
53
|
+
{{#collectionFormat}}
|
|
54
|
+
if @api_client.config.client_side_validation && opts[:'{{{paramName}}}'] && !opts[:'{{{paramName}}}'].all?{|item| [{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}].include?(item)}
|
|
55
|
+
fail ArgumentError, 'invalid value for "{{{paramName}}}", must include one of {{#allowableValues}}{{#values}}{{{this}}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}'
|
|
56
|
+
end
|
|
57
|
+
{{/collectionFormat}}
|
|
58
|
+
{{^collectionFormat}}
|
|
59
|
+
if @api_client.config.client_side_validation && opts[:'{{{paramName}}}'] && ![{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}].include?(opts[:'{{{paramName}}}'])
|
|
60
|
+
fail ArgumentError, 'invalid value for "{{{paramName}}}", must be one of {{#allowableValues}}{{#values}}{{{this}}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}'
|
|
61
|
+
end
|
|
62
|
+
{{/collectionFormat}}
|
|
63
|
+
{{/isEnum}}
|
|
64
|
+
{{/required}}
|
|
65
|
+
{{#hasValidation}}
|
|
66
|
+
{{#maxLength}}
|
|
67
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.to_s.length > {{{maxLength}}}
|
|
68
|
+
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, the character length must be smaller than or equal to {{{maxLength}}}.'
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
{{/maxLength}}
|
|
72
|
+
{{#minLength}}
|
|
73
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.to_s.length < {{{minLength}}}
|
|
74
|
+
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, the character length must be great than or equal to {{{minLength}}}.'
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
{{/minLength}}
|
|
78
|
+
{{#maximum}}
|
|
79
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{{maximum}}}
|
|
80
|
+
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{{maximum}}}.'
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
{{/maximum}}
|
|
84
|
+
{{#minimum}}
|
|
85
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{{minimum}}}
|
|
86
|
+
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, must be greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{{minimum}}}.'
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
{{/minimum}}
|
|
90
|
+
{{#pattern}}
|
|
91
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} !~ Regexp.new({{{pattern}}})
|
|
92
|
+
fail ArgumentError, "invalid value for '{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:\"{{{paramName}}}\"]{{/required}}' when calling {{classname}}.{{operationId}}, must conform to the pattern {{{pattern}}}."
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
{{/pattern}}
|
|
96
|
+
{{#maxItems}}
|
|
97
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.length > {{{maxItems}}}
|
|
98
|
+
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, number of items must be less than or equal to {{{maxItems}}}.'
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
{{/maxItems}}
|
|
102
|
+
{{#minItems}}
|
|
103
|
+
if @api_client.config.client_side_validation && {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.length < {{{minItems}}}
|
|
104
|
+
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, number of items must be greater than or equal to {{{minItems}}}.'
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
{{/minItems}}
|
|
108
|
+
{{/hasValidation}}
|
|
109
|
+
{{/allParams}}
|
|
110
|
+
# resource path
|
|
111
|
+
local_var_path = "{{{path}}}"{{#pathParams}}.sub('{' + '{{baseName}}' + '}', {{paramName}}.to_s){{/pathParams}}
|
|
112
|
+
|
|
113
|
+
# query parameters
|
|
114
|
+
query_params = {}
|
|
115
|
+
{{#queryParams}}
|
|
116
|
+
{{#required}}
|
|
117
|
+
query_params[:'{{{baseName}}}'] = {{#collectionFormat}}@api_client.build_collection_param({{{paramName}}}, :{{{collectionFormat}}}){{/collectionFormat}}{{^collectionFormat}}{{{paramName}}}{{/collectionFormat}}
|
|
118
|
+
{{/required}}
|
|
119
|
+
{{/queryParams}}
|
|
120
|
+
{{#queryParams}}
|
|
121
|
+
{{^required}}
|
|
122
|
+
query_params[:'{{{baseName}}}'] = normalize({{#collectionFormat}}@api_client.build_collection_param(opts[:'{{{paramName}}}'], :{{{collectionFormat}}}){{/collectionFormat}}{{^collectionFormat}}opts[:'{{{paramName}}}']{{/collectionFormat}}) if !opts[:'{{{paramName}}}'].nil?
|
|
123
|
+
{{/required}}
|
|
124
|
+
{{/queryParams}}
|
|
125
|
+
|
|
126
|
+
# header parameters
|
|
127
|
+
header_params = {}
|
|
128
|
+
{{#hasProduces}}
|
|
129
|
+
# HTTP header 'Accept' (if needed)
|
|
130
|
+
header_params['Accept'] = @api_client.select_header_accept([{{#produces}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/produces}}])
|
|
131
|
+
{{/hasProduces}}
|
|
132
|
+
{{#hasConsumes}}
|
|
133
|
+
# HTTP header 'Content-Type'
|
|
134
|
+
header_params['Content-Type'] = @api_client.select_header_content_type([{{#consumes}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}])
|
|
135
|
+
{{/hasConsumes}}
|
|
136
|
+
{{#headerParams}}
|
|
137
|
+
{{#required}}
|
|
138
|
+
header_params[:'{{{baseName}}}'] = {{#collectionFormat}}@api_client.build_collection_param({{{paramName}}}, :{{{collectionFormat}}}){{/collectionFormat}}{{^collectionFormat}}{{{paramName}}}{{/collectionFormat}}
|
|
139
|
+
{{/required}}
|
|
140
|
+
{{/headerParams}}
|
|
141
|
+
{{#headerParams}}
|
|
142
|
+
{{^required}}
|
|
143
|
+
header_params[:'{{{baseName}}}'] = {{#collectionFormat}}@api_client.build_collection_param(opts[:'{{{paramName}}}'], :{{{collectionFormat}}}){{/collectionFormat}}{{^collectionFormat}}opts[:'{{{paramName}}}']{{/collectionFormat}} if !opts[:'{{{paramName}}}'].nil?
|
|
144
|
+
{{/required}}
|
|
145
|
+
{{/headerParams}}
|
|
146
|
+
|
|
147
|
+
# form parameters
|
|
148
|
+
form_params = {}
|
|
149
|
+
{{#formParams}}
|
|
150
|
+
{{#required}}
|
|
151
|
+
form_params["{{baseName}}"] = {{#collectionFormat}}@api_client.build_collection_param({{{paramName}}}, :{{{collectionFormat}}}){{/collectionFormat}}{{^collectionFormat}}{{{paramName}}}{{/collectionFormat}}
|
|
152
|
+
{{/required}}
|
|
153
|
+
{{/formParams}}
|
|
154
|
+
{{#formParams}}
|
|
155
|
+
{{^required}}
|
|
156
|
+
form_params["{{baseName}}"] = {{#collectionFormat}}@api_client.build_collection_param(opts[:'{{{paramName}}}'], :{{{collectionFormat}}}){{/collectionFormat}}{{^collectionFormat}}opts[:'{{{paramName}}}']{{/collectionFormat}} if !opts[:'{{paramName}}'].nil?
|
|
157
|
+
{{/required}}
|
|
158
|
+
{{/formParams}}
|
|
159
|
+
|
|
160
|
+
# http body (model)
|
|
161
|
+
{{^bodyParam}}
|
|
162
|
+
post_body = nil
|
|
163
|
+
{{/bodyParam}}
|
|
164
|
+
{{#bodyParam}}
|
|
165
|
+
post_body = @api_client.object_to_http_body({{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}})
|
|
166
|
+
{{/bodyParam}}
|
|
167
|
+
auth_names = [{{#authMethods}}'{{name}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}]
|
|
168
|
+
data, status_code, headers = @api_client.call_api(:{{httpMethod}}, local_var_path,
|
|
169
|
+
:header_params => header_params,
|
|
170
|
+
:query_params => query_params,
|
|
171
|
+
:form_params => form_params,
|
|
172
|
+
:body => post_body,
|
|
173
|
+
:auth_names => auth_names{{#returnType}},
|
|
174
|
+
:return_type => '{{{returnType}}}'{{/returnType}})
|
|
175
|
+
if @api_client.config.debugging
|
|
176
|
+
@api_client.config.logger.debug "API called: {{classname}}#{{operationId}}\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
177
|
+
end
|
|
178
|
+
return data, status_code, headers
|
|
179
|
+
end
|
|
180
|
+
{{/operation}}
|
|
181
|
+
|
|
182
|
+
private
|
|
183
|
+
|
|
184
|
+
def normalize(param)
|
|
185
|
+
case param
|
|
186
|
+
when Date, DateTime, Time
|
|
187
|
+
param.to_s(:iso8601)
|
|
188
|
+
else
|
|
189
|
+
param
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
{{/operations}}
|
|
194
|
+
end
|