cloudmersive-barcode-api-client 2.0.1 → 2.0.2

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -0
  3. data/README.md +110 -0
  4. data/Rakefile +8 -0
  5. data/cloudmersive-barcode-api-client.gemspec +45 -0
  6. data/docs/BarcodeLookupApi.md +63 -0
  7. data/docs/BarcodeLookupResponse.md +9 -0
  8. data/docs/BarcodeScanApi.md +63 -0
  9. data/docs/BarcodeScanResult.md +10 -0
  10. data/docs/GenerateBarcodeApi.md +283 -0
  11. data/docs/ProductMatch.md +9 -0
  12. data/git_push.sh +55 -0
  13. data/lib/cloudmersive-barcode-api-client.rb +45 -0
  14. data/lib/cloudmersive-barcode-api-client/api/barcode_lookup_api.rb +77 -0
  15. data/lib/cloudmersive-barcode-api-client/api/barcode_scan_api.rb +78 -0
  16. data/lib/cloudmersive-barcode-api-client/api/generate_barcode_api.rb +293 -0
  17. data/lib/cloudmersive-barcode-api-client/api_client.rb +391 -0
  18. data/lib/cloudmersive-barcode-api-client/api_error.rb +38 -0
  19. data/lib/cloudmersive-barcode-api-client/configuration.rb +209 -0
  20. data/lib/cloudmersive-barcode-api-client/models/barcode_lookup_response.rb +198 -0
  21. data/lib/cloudmersive-barcode-api-client/models/barcode_scan_result.rb +206 -0
  22. data/lib/cloudmersive-barcode-api-client/models/product_match.rb +196 -0
  23. data/lib/cloudmersive-barcode-api-client/version.rb +15 -0
  24. data/spec/api/barcode_lookup_api_spec.rb +47 -0
  25. data/spec/api/barcode_scan_api_spec.rb +47 -0
  26. data/spec/api/generate_barcode_api_spec.rb +95 -0
  27. data/spec/api_client_spec.rb +243 -0
  28. data/spec/configuration_spec.rb +42 -0
  29. data/spec/models/barcode_lookup_response_spec.rb +47 -0
  30. data/spec/models/barcode_scan_result_spec.rb +53 -0
  31. data/spec/models/product_match_spec.rb +47 -0
  32. data/spec/spec_helper.rb +111 -0
  33. metadata +34 -3
@@ -0,0 +1,15 @@
1
+ =begin
2
+ #barcodeapi
3
+
4
+ #Barcode APIs let you generate barcode images, and recognize values from images of barcodes.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ module CloudmersiveBarcodeApiClient
14
+ VERSION = '2.0.2'
15
+ end
@@ -0,0 +1,47 @@
1
+ =begin
2
+ #barcodeapi
3
+
4
+ #Barcode APIs let you generate barcode images, and recognize values from images of barcodes.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for CloudmersiveBarcodeApiClient::BarcodeLookupApi
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'BarcodeLookupApi' do
20
+ before do
21
+ # run before each test
22
+ @instance = CloudmersiveBarcodeApiClient::BarcodeLookupApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of BarcodeLookupApi' do
30
+ it 'should create an instance of BarcodeLookupApi' do
31
+ expect(@instance).to be_instance_of(CloudmersiveBarcodeApiClient::BarcodeLookupApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for barcode_lookup_ean_lookup
36
+ # Lookup EAN barcode value, return product data
37
+ # Lookup an input EAN barcode and return key details about the product
38
+ # @param value Barcode value
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [BarcodeLookupResponse]
41
+ describe 'barcode_lookup_ean_lookup test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ end
@@ -0,0 +1,47 @@
1
+ =begin
2
+ #barcodeapi
3
+
4
+ #Barcode APIs let you generate barcode images, and recognize values from images of barcodes.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for CloudmersiveBarcodeApiClient::BarcodeScanApi
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'BarcodeScanApi' do
20
+ before do
21
+ # run before each test
22
+ @instance = CloudmersiveBarcodeApiClient::BarcodeScanApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of BarcodeScanApi' do
30
+ it 'should create an instance of BarcodeScanApi' do
31
+ expect(@instance).to be_instance_of(CloudmersiveBarcodeApiClient::BarcodeScanApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for barcode_scan_image
36
+ # Scan and recognize an image of a barcode
37
+ # Scan an image or photo of a barcode and return the result. Supported barcode types include AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, All_1D, UPC_EAN_EXTENSION, MSI, PLESSEY, IMB
38
+ # @param image_file Image file to perform the operation on. Common file formats such as PNG, JPEG are supported.
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [BarcodeScanResult]
41
+ describe 'barcode_scan_image test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ end
@@ -0,0 +1,95 @@
1
+ =begin
2
+ #barcodeapi
3
+
4
+ #Barcode APIs let you generate barcode images, and recognize values from images of barcodes.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for CloudmersiveBarcodeApiClient::GenerateBarcodeApi
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'GenerateBarcodeApi' do
20
+ before do
21
+ # run before each test
22
+ @instance = CloudmersiveBarcodeApiClient::GenerateBarcodeApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of GenerateBarcodeApi' do
30
+ it 'should create an instance of GenerateBarcodeApi' do
31
+ expect(@instance).to be_instance_of(CloudmersiveBarcodeApiClient::GenerateBarcodeApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for generate_barcode_ean13
36
+ # Generate a EAN-13 code barcode as PNG file
37
+ # Validates and generate a EAN-13 barcode as a PNG file, a type of 1D barcode
38
+ # @param value Barcode value to generate from
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [File]
41
+ describe 'generate_barcode_ean13 test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ # unit tests for generate_barcode_ean8
48
+ # Generate a EAN-8 code barcode as PNG file
49
+ # Validates and generate a EAN-8 barcode as a PNG file, a type of 1D barcode
50
+ # @param value Barcode value to generate from
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [File]
53
+ describe 'generate_barcode_ean8 test' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
56
+ end
57
+ end
58
+
59
+ # unit tests for generate_barcode_qr_code
60
+ # Generate a QR code barcode as PNG file
61
+ # Generate a QR code barcode as a PNG file, a type of 2D barcode which can encode free-form text information
62
+ # @param value QR code text to convert into the QR code barcode
63
+ # @param [Hash] opts the optional parameters
64
+ # @return [File]
65
+ describe 'generate_barcode_qr_code test' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
68
+ end
69
+ end
70
+
71
+ # unit tests for generate_barcode_upca
72
+ # Generate a UPC-A code barcode as PNG file
73
+ # Validate and generate a UPC-A barcode as a PNG file, a type of 1D barcode
74
+ # @param value UPC-A barcode value to generate from
75
+ # @param [Hash] opts the optional parameters
76
+ # @return [File]
77
+ describe 'generate_barcode_upca test' do
78
+ it 'should work' do
79
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
80
+ end
81
+ end
82
+
83
+ # unit tests for generate_barcode_upce
84
+ # Generate a UPC-E code barcode as PNG file
85
+ # Validates and generate a UPC-E barcode as a PNG file, a type of 1D barcode
86
+ # @param value UPC-E barcode value to generate from
87
+ # @param [Hash] opts the optional parameters
88
+ # @return [File]
89
+ describe 'generate_barcode_upce test' do
90
+ it 'should work' do
91
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
92
+ end
93
+ end
94
+
95
+ end
@@ -0,0 +1,243 @@
1
+ =begin
2
+ #barcodeapi
3
+
4
+ #Barcode APIs let you generate barcode images, and recognize values from images of barcodes.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+
15
+ describe CloudmersiveBarcodeApiClient::ApiClient do
16
+ context 'initialization' do
17
+ context 'URL stuff' do
18
+ context 'host' do
19
+ it 'removes http from host' do
20
+ CloudmersiveBarcodeApiClient.configure { |c| c.host = 'http://example.com' }
21
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.host).to eq('example.com')
22
+ end
23
+
24
+ it 'removes https from host' do
25
+ CloudmersiveBarcodeApiClient.configure { |c| c.host = 'https://wookiee.com' }
26
+ expect(CloudmersiveBarcodeApiClient::ApiClient.default.config.host).to eq('wookiee.com')
27
+ end
28
+
29
+ it 'removes trailing path from host' do
30
+ CloudmersiveBarcodeApiClient.configure { |c| c.host = 'hobo.com/v4' }
31
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.host).to eq('hobo.com')
32
+ end
33
+ end
34
+
35
+ context 'base_path' do
36
+ it "prepends a slash to base_path" do
37
+ CloudmersiveBarcodeApiClient.configure { |c| c.base_path = 'v4/dog' }
38
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.base_path).to eq('/v4/dog')
39
+ end
40
+
41
+ it "doesn't prepend a slash if one is already there" do
42
+ CloudmersiveBarcodeApiClient.configure { |c| c.base_path = '/v4/dog' }
43
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.base_path).to eq('/v4/dog')
44
+ end
45
+
46
+ it "ends up as a blank string if nil" do
47
+ CloudmersiveBarcodeApiClient.configure { |c| c.base_path = nil }
48
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.base_path).to eq('')
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+ describe 'params_encoding in #build_request' do
55
+ let(:config) { CloudmersiveBarcodeApiClient::Configuration.new }
56
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new(config) }
57
+
58
+ it 'defaults to nil' do
59
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.params_encoding).to eq(nil)
60
+ expect(config.params_encoding).to eq(nil)
61
+
62
+ request = api_client.build_request(:get, '/test')
63
+ expect(request.options[:params_encoding]).to eq(nil)
64
+ end
65
+
66
+ it 'can be customized' do
67
+ config.params_encoding = :multi
68
+ request = api_client.build_request(:get, '/test')
69
+ expect(request.options[:params_encoding]).to eq(:multi)
70
+ end
71
+ end
72
+
73
+ describe 'timeout in #build_request' do
74
+ let(:config) { CloudmersiveBarcodeApiClient::Configuration.new }
75
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new(config) }
76
+
77
+ it 'defaults to 0' do
78
+ expect(CloudmersiveBarcodeApiClient::Configuration.default.timeout).to eq(0)
79
+ expect(config.timeout).to eq(0)
80
+
81
+ request = api_client.build_request(:get, '/test')
82
+ expect(request.options[:timeout]).to eq(0)
83
+ end
84
+
85
+ it 'can be customized' do
86
+ config.timeout = 100
87
+ request = api_client.build_request(:get, '/test')
88
+ expect(request.options[:timeout]).to eq(100)
89
+ end
90
+ end
91
+
92
+ describe '#build_request' do
93
+ let(:config) { CloudmersiveBarcodeApiClient::Configuration.new }
94
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new(config) }
95
+
96
+ it 'does not send multipart to request' do
97
+ expect(Typhoeus::Request).to receive(:new).with(anything, hash_not_including(:multipart))
98
+ api_client.build_request(:get, '/test')
99
+ end
100
+
101
+ context 'when the content type is multipart' do
102
+ it 'sends multipart to request' do
103
+ expect(Typhoeus::Request).to receive(:new).with(anything, hash_including(multipart: true))
104
+ api_client.build_request(:get, '/test', {header_params: { 'Content-Type' => 'multipart/form-data'}})
105
+ end
106
+ end
107
+ end
108
+
109
+ describe '#deserialize' do
110
+ it "handles Array<Integer>" do
111
+ api_client = CloudmersiveBarcodeApiClient::ApiClient.new
112
+ headers = { 'Content-Type' => 'application/json' }
113
+ response = double('response', headers: headers, body: '[12, 34]')
114
+ data = api_client.deserialize(response, 'Array<Integer>')
115
+ expect(data).to be_instance_of(Array)
116
+ expect(data).to eq([12, 34])
117
+ end
118
+
119
+ it 'handles Array<Array<Integer>>' do
120
+ api_client = CloudmersiveBarcodeApiClient::ApiClient.new
121
+ headers = { 'Content-Type' => 'application/json' }
122
+ response = double('response', headers: headers, body: '[[12, 34], [56]]')
123
+ data = api_client.deserialize(response, 'Array<Array<Integer>>')
124
+ expect(data).to be_instance_of(Array)
125
+ expect(data).to eq([[12, 34], [56]])
126
+ end
127
+
128
+ it 'handles Hash<String, String>' do
129
+ api_client = CloudmersiveBarcodeApiClient::ApiClient.new
130
+ headers = { 'Content-Type' => 'application/json' }
131
+ response = double('response', headers: headers, body: '{"message": "Hello"}')
132
+ data = api_client.deserialize(response, 'Hash<String, String>')
133
+ expect(data).to be_instance_of(Hash)
134
+ expect(data).to eq(:message => 'Hello')
135
+ end
136
+ end
137
+
138
+ describe "#object_to_hash" do
139
+ it 'ignores nils and includes empty arrays' do
140
+ # uncomment below to test object_to_hash for model
141
+ # api_client = CloudmersiveBarcodeApiClient::ApiClient.new
142
+ # _model = CloudmersiveBarcodeApiClient::ModelName.new
143
+ # update the model attribute below
144
+ # _model.id = 1
145
+ # update the expected value (hash) below
146
+ # expected = {id: 1, name: '', tags: []}
147
+ # expect(api_client.object_to_hash(_model)).to eq(expected)
148
+ end
149
+ end
150
+
151
+ describe '#build_collection_param' do
152
+ let(:param) { ['aa', 'bb', 'cc'] }
153
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new }
154
+
155
+ it 'works for csv' do
156
+ expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
157
+ end
158
+
159
+ it 'works for ssv' do
160
+ expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
161
+ end
162
+
163
+ it 'works for tsv' do
164
+ expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
165
+ end
166
+
167
+ it 'works for pipes' do
168
+ expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
169
+ end
170
+
171
+ it 'works for multi' do
172
+ expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
173
+ end
174
+
175
+ it 'fails for invalid collection format' do
176
+ expect(proc { api_client.build_collection_param(param, :INVALID) }).to raise_error(RuntimeError, 'unknown collection format: :INVALID')
177
+ end
178
+ end
179
+
180
+ describe '#json_mime?' do
181
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new }
182
+
183
+ it 'works' do
184
+ expect(api_client.json_mime?(nil)).to eq false
185
+ expect(api_client.json_mime?('')).to eq false
186
+
187
+ expect(api_client.json_mime?('application/json')).to eq true
188
+ expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
189
+ expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
190
+
191
+ expect(api_client.json_mime?('application/xml')).to eq false
192
+ expect(api_client.json_mime?('text/plain')).to eq false
193
+ expect(api_client.json_mime?('application/jsonp')).to eq false
194
+ end
195
+ end
196
+
197
+ describe '#select_header_accept' do
198
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new }
199
+
200
+ it 'works' do
201
+ expect(api_client.select_header_accept(nil)).to be_nil
202
+ expect(api_client.select_header_accept([])).to be_nil
203
+
204
+ expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
205
+ expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
206
+ expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
207
+
208
+ expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
209
+ expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
210
+ end
211
+ end
212
+
213
+ describe '#select_header_content_type' do
214
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new }
215
+
216
+ it 'works' do
217
+ expect(api_client.select_header_content_type(nil)).to eq('application/json')
218
+ expect(api_client.select_header_content_type([])).to eq('application/json')
219
+
220
+ expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
221
+ expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
222
+ expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
223
+ expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
224
+ expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
225
+ end
226
+ end
227
+
228
+ describe '#sanitize_filename' do
229
+ let(:api_client) { CloudmersiveBarcodeApiClient::ApiClient.new }
230
+
231
+ it 'works' do
232
+ expect(api_client.sanitize_filename('sun')).to eq('sun')
233
+ expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
234
+ expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
235
+ expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
236
+ expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
237
+ expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
238
+ expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
239
+ expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
240
+ expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
241
+ end
242
+ end
243
+ end