form_api 0.1.4 → 0.1.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1601d98e7510bd573bde97e48c4685cae8a72c4a
4
- data.tar.gz: c6fcb19e49daa8ce6b590c2896f1af7d1b876ad1
3
+ metadata.gz: '00169a4fbb7ab1b2beb13f813f396f46dcc2b085'
4
+ data.tar.gz: a13b337783a72f2e63485661d340d18ead404619
5
5
  SHA512:
6
- metadata.gz: ba61014b1f46f7f2100bb6c5a833dc90ee31a18ddf6001070fb5566734dd4ee78ab35d8ccfd853701a47895c6f81e91b73355bb67e7540d45bb243ba1e41a56c
7
- data.tar.gz: 94191a22d051c41fa65c691106a8547d901c31b8aa49df3bd404e073baa9240edb88de98baa9987552d6f027c7601e21e424e3edf09f14db3d04a44b50c742d0
6
+ metadata.gz: b59bb93e0c541f0149d58f3fb5d9b6184337a8cbffecfb5ed993aaab97d94fff4228859cd1db49af3adb3592193ed45798d720d90d47c23a2d83c94469cea393
7
+ data.tar.gz: 60076f7208a1398837a4a417c9abe6764b3c2a2d41c473647f9c213d4de6efd87c0b8b7e1789d08bf4ab08ad71ea45c158410afe6b23c506cd814cd72bab65b4
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.4.2
4
+ - 2.1.10
5
+ - 1.9.3
6
+
7
+ before_install:
8
+ - gem update bundler
data/README.md CHANGED
@@ -1,7 +1,18 @@
1
1
  # FormAPI Ruby Client
2
2
 
3
- This is a Ruby gem for using [FormAPI](https://formapi.io) to generate PDF documents from configured templates.
3
+ [![Build Status](https://travis-ci.org/FormAPI/formapi-ruby.svg?branch=master)](https://travis-ci.org/FormAPI/formapi-ruby)
4
4
 
5
+ The `form_api` gem is an API client library for [FormAPI](https://formapi.io).
6
+ You can use FormAPI to generate PDFs. Configure your PDF template in our online editor,
7
+ then post data to fill out the PDF.
8
+
9
+ ## Supported Ruby Versions
10
+
11
+ The `form_api` gem supports Ruby >= `1.9.3`. We run our tests with the following Ruby versions:
12
+
13
+ * `1.9.3`
14
+ * `2.1.10`
15
+ * `2.4.2`
5
16
 
6
17
  ## Installation
7
18
 
@@ -28,7 +28,6 @@ begin
28
28
 
29
29
  response = formapi.generate_pdf(
30
30
  template_id: TEMPLATE_ID,
31
- filename: PDF_FILENAME,
32
31
  data: {
33
32
  first_name: 'John',
34
33
  last_name: 'Smith',
@@ -33,6 +33,8 @@ Gem::Specification.new do |s|
33
33
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
34
34
  s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.1'
35
35
  s.add_development_dependency 'webmock', '~> 1.24', '>= 1.24.3'
36
+ # This version of addressable is required for Ruby 1.9.3 support
37
+ s.add_development_dependency 'addressable', '~> 2.4.0'
36
38
  s.add_development_dependency 'autotest', '~> 4.4', '>= 4.4.6'
37
39
  s.add_development_dependency 'autotest-rails-pure', '~> 4.1', '>= 4.1.2'
38
40
  s.add_development_dependency 'autotest-growl', '~> 0.2', '>= 0.2.16'
@@ -40,7 +42,12 @@ Gem::Specification.new do |s|
40
42
 
41
43
  # added by script/fix_gemspec.rb.
42
44
  s.add_development_dependency 'rake', '~>11.2', '>= 11.2.2'
43
- s.add_development_dependency 'pry', '~>0.10', '>= 0.10.4'
45
+ if RUBY_VERSION >= '2.2.0'
46
+ s.add_development_dependency 'pry-byebug'
47
+ else
48
+ s.add_development_dependency 'pry', '~>0.10', '>= 0.10.4'
49
+ end
50
+
44
51
  # </added> : if the above lines are missing in the gemspec, then
45
52
  # the matcher for autotest is probably broken
46
53
 
@@ -19,6 +19,7 @@ require 'form_api/configuration'
19
19
  # Models
20
20
  require 'form_api/models/data'
21
21
  require 'form_api/models/data_1'
22
+ require 'form_api/models/inline_response_200'
22
23
  require 'form_api/models/inline_response_201'
23
24
  require 'form_api/models/inline_response_201_1'
24
25
  require 'form_api/models/inline_response_201_1_submission'
@@ -339,5 +339,52 @@ module FormAPI
339
339
  end
340
340
  return data, status_code, headers
341
341
  end
342
+
343
+ # Test Authentication
344
+ #
345
+ # @param [Hash] opts the optional parameters
346
+ # @return [InlineResponse200]
347
+ def test_authentication(opts = {})
348
+ data, _status_code, _headers = test_authentication_with_http_info(opts)
349
+ return data
350
+ end
351
+
352
+ # Test Authentication
353
+ #
354
+ # @param [Hash] opts the optional parameters
355
+ # @return [Array<(InlineResponse200, Fixnum, Hash)>] InlineResponse200 data, response status code and response headers
356
+ def test_authentication_with_http_info(opts = {})
357
+ if @api_client.config.debugging
358
+ @api_client.config.logger.debug "Calling API: PDFApi.test_authentication ..."
359
+ end
360
+ # resource path
361
+ local_var_path = "/authentication"
362
+
363
+ # query parameters
364
+ query_params = {}
365
+
366
+ # header parameters
367
+ header_params = {}
368
+ # HTTP header 'Accept' (if needed)
369
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
370
+
371
+ # form parameters
372
+ form_params = {}
373
+
374
+ # http body (model)
375
+ post_body = nil
376
+ auth_names = ['basic']
377
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
378
+ :header_params => header_params,
379
+ :query_params => query_params,
380
+ :form_params => form_params,
381
+ :body => post_body,
382
+ :auth_names => auth_names,
383
+ :return_type => 'InlineResponse200')
384
+ if @api_client.config.debugging
385
+ @api_client.config.logger.debug "API called: PDFApi#test_authentication\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
386
+ end
387
+ return data, status_code, headers
388
+ end
342
389
  end
343
390
  end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #API V1
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module FormAPI
16
+
17
+ class InlineResponse200
18
+ attr_accessor :status
19
+
20
+ class EnumAttributeValidator
21
+ attr_reader :datatype
22
+ attr_reader :allowable_values
23
+
24
+ def initialize(datatype, allowable_values)
25
+ @allowable_values = allowable_values.map do |value|
26
+ case datatype.to_s
27
+ when /Integer/i
28
+ value.to_i
29
+ when /Float/i
30
+ value.to_f
31
+ else
32
+ value
33
+ end
34
+ end
35
+ end
36
+
37
+ def valid?(value)
38
+ !value || allowable_values.include?(value)
39
+ end
40
+ end
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'status' => :'status'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.swagger_types
51
+ {
52
+ :'status' => :'String'
53
+ }
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ return unless attributes.is_a?(Hash)
60
+
61
+ # convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
63
+
64
+ if attributes.has_key?(:'status')
65
+ self.status = attributes[:'status']
66
+ end
67
+
68
+ end
69
+
70
+ # Show invalid properties with the reasons. Usually used together with valid?
71
+ # @return Array for valid properies with the reasons
72
+ def list_invalid_properties
73
+ invalid_properties = Array.new
74
+ if @status.nil?
75
+ invalid_properties.push("invalid value for 'status', status cannot be nil.")
76
+ end
77
+
78
+ return invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ return false if @status.nil?
85
+ status_validator = EnumAttributeValidator.new('String', ["success"])
86
+ return false unless status_validator.valid?(@status)
87
+ return true
88
+ end
89
+
90
+ # Custom attribute writer method checking allowed values (enum).
91
+ # @param [Object] status Object to be assigned
92
+ def status=(status)
93
+ validator = EnumAttributeValidator.new('String', ["success"])
94
+ unless validator.valid?(status)
95
+ fail ArgumentError, "invalid value for 'status', must be one of #{validator.allowable_values}."
96
+ end
97
+ @status = status
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ status == o.status
106
+ end
107
+
108
+ # @see the `==` method
109
+ # @param [Object] Object to be compared
110
+ def eql?(o)
111
+ self == o
112
+ end
113
+
114
+ # Calculates hash code according to all attributes.
115
+ # @return [Fixnum] Hash code
116
+ def hash
117
+ [status].hash
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def build_from_hash(attributes)
124
+ return nil unless attributes.is_a?(Hash)
125
+ self.class.swagger_types.each_pair do |key, type|
126
+ if type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
130
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
131
+ end
132
+ elsif !attributes[self.class.attribute_map[key]].nil?
133
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
134
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :BOOLEAN
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ temp_model = FormAPI.const_get(type).new
178
+ temp_model.build_from_hash(value)
179
+ end
180
+ end
181
+
182
+ # Returns the string representation of the object
183
+ # @return [String] String presentation of the object
184
+ def to_s
185
+ to_hash.to_s
186
+ end
187
+
188
+ # to_body is an alias to to_hash (backward compatibility)
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_body
191
+ to_hash
192
+ end
193
+
194
+ # Returns the object in the form of hash
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_hash
197
+ hash = {}
198
+ self.class.attribute_map.each_pair do |attr, param|
199
+ value = self.send(attr)
200
+ next if value.nil?
201
+ hash[param] = _to_hash(value)
202
+ end
203
+ hash
204
+ end
205
+
206
+ # Outputs non-array value in the form of hash
207
+ # For object, use to_hash. Otherwise, just return the value
208
+ # @param [Object] value Any valid value
209
+ # @return [Hash] Returns the value in the form of hash
210
+ def _to_hash(value)
211
+ if value.is_a?(Array)
212
+ value.compact.map{ |v| _to_hash(v) }
213
+ elsif value.is_a?(Hash)
214
+ {}.tap do |hash|
215
+ value.each { |k, v| hash[k] = _to_hash(v) }
216
+ end
217
+ elsif value.respond_to? :to_hash
218
+ value.to_hash
219
+ else
220
+ value
221
+ end
222
+ end
223
+
224
+ end
225
+
226
+ end
@@ -11,5 +11,5 @@ Swagger Codegen version: 2.3.0-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module FormAPI
14
- VERSION = "0.1.4"
14
+ VERSION = "0.1.5"
15
15
  end
@@ -1,7 +1,6 @@
1
1
  #!/bin/sh
2
2
  set -e
3
3
 
4
- ./scripts/generate
5
- rm form_api-*.gem
4
+ rm -f form_api-*.gem
6
5
  gem build form_api.gemspec
7
6
  gem push form_api-*.gem
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+ require 'json'
3
+
4
+ describe FormAPI::Client, vcr: { record: :none } do
5
+ it 'should generate a PDF and wait for the submission to be processed' do
6
+ client = FormAPI::Client.new
7
+ client.api_client.config.username = 'yRaaR9JmTPtGX7EN'
8
+ client.api_client.config.password = 'IB3TRkSdm4f2BdtU_D3YgxjdMB7l-r2fOgvxD1Yzwec'
9
+ template_id = '6zz3dYRYM67fxMXA'
10
+
11
+ expect(client).to receive(:sleep).with(1).once
12
+
13
+ response = client.generate_pdf(
14
+ template_id: template_id,
15
+ data: {
16
+ first_name: 'John',
17
+ last_name: 'Smith',
18
+ favorite_color: 'Blue'
19
+ }
20
+ )
21
+
22
+ expect(response.status).to eq 'success'
23
+ submission = response.submission
24
+ # expect(submission.id).to eq 'jpZnjXmRtZYxsFx4'
25
+ expect(submission.state).to eq 'processed'
26
+ expect(submission.download_url).to include 'https://formapi-docs.s3.amazonaws.com/store/submissions'
27
+ end
28
+ end
@@ -32,25 +32,73 @@ describe 'PDFApi' do
32
32
  end
33
33
  end
34
34
 
35
+ # unit tests for combine_submissions
36
+ # Merge generated PDFs together
37
+ #
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [Data] :data
40
+ # @return [InlineResponse201]
41
+ describe 'combine_submissions 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 expire_combined_submission
48
+ # Expire a combined submission
49
+ #
50
+ # @param combined_submission_id
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [InlineResponse201CombinedSubmission]
53
+ describe 'expire_combined_submission 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 expire_submission
60
+ # Expire a PDF submission
61
+ #
62
+ # @param submission_id
63
+ # @param [Hash] opts the optional parameters
64
+ # @return [InlineResponse2011Submission]
65
+ describe 'expire_submission 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
+
35
71
  # unit tests for generate_pdf
36
72
  # Generates a new PDF
37
73
  #
38
74
  # @param template_id
39
75
  # @param [Hash] opts the optional parameters
40
- # @option opts [Data] :data
41
- # @return [InlineResponse201]
76
+ # @option opts [Data1] :data
77
+ # @return [InlineResponse2011]
42
78
  describe 'generate_pdf test' do
43
79
  it "should work" do
44
80
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
45
81
  end
46
82
  end
47
83
 
84
+ # unit tests for get_combined_submission
85
+ # Check the status of a combined submission (merged PDFs)
86
+ #
87
+ # @param combined_submission_id
88
+ # @param [Hash] opts the optional parameters
89
+ # @return [InlineResponse201CombinedSubmission]
90
+ describe 'get_combined_submission test' do
91
+ it "should work" do
92
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
93
+ end
94
+ end
95
+
48
96
  # unit tests for get_submission
49
- # Check the status of a PDF request
97
+ # Check the status of a PDF
50
98
  #
51
99
  # @param submission_id
52
100
  # @param [Hash] opts the optional parameters
53
- # @return [InlineResponse201Submission]
101
+ # @return [InlineResponse2011Submission]
54
102
  describe 'get_submission test' do
55
103
  it "should work" do
56
104
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -18,7 +18,7 @@ describe FormAPI::Configuration do
18
18
  before(:each) do
19
19
  # uncomment below to setup host and base_path
20
20
  #require 'URI'
21
- #uri = URI.parse("https://localhost/api/v1")
21
+ #uri = URI.parse("https://app.formapi.io/api/v1")
22
22
  #FormAPI.configure do |c|
23
23
  # c.host = uri.host
24
24
  # c.base_path = uri.path
@@ -28,14 +28,14 @@ describe FormAPI::Configuration do
28
28
  describe '#base_url' do
29
29
  it 'should have the default value' do
30
30
  # uncomment below to test default value of the base path
31
- #expect(config.base_url).to eq("https://localhost/api/v1")
31
+ #expect(config.base_url).to eq("https://app.formapi.io/api/v1")
32
32
  end
33
33
 
34
34
  it 'should remove trailing slashes' do
35
35
  [nil, '', '/', '//'].each do |base_path|
36
36
  config.base_path = base_path
37
37
  # uncomment below to test trailing slashes
38
- #expect(config.base_url).to eq("https://localhost/api/v1")
38
+ #expect(config.base_url).to eq("https://app.formapi.io/api/v1")
39
39
  end
40
40
  end
41
41
  end
@@ -32,7 +32,25 @@ describe 'Data' do
32
32
  expect(@instance).to be_instance_of(FormAPI::Data)
33
33
  end
34
34
  end
35
- describe 'test attribute "data"' do
35
+ describe 'test attribute "test"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ describe 'test attribute "submission_ids"' 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
+ describe 'test attribute "metadata"' do
48
+ it 'should work' do
49
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
50
+ end
51
+ end
52
+
53
+ describe 'test attribute "expires_in"' do
36
54
  it 'should work' do
37
55
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
56
  end
@@ -14,27 +14,31 @@ require 'spec_helper'
14
14
  require 'json'
15
15
  require 'date'
16
16
 
17
- # Unit tests for FormAPI::InlineResponse302
17
+ # Unit tests for FormAPI::InlineResponse200
18
18
  # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
19
  # Please update as you see appropriate
20
- describe 'InlineResponse302' do
20
+ describe 'InlineResponse200' do
21
21
  before do
22
22
  # run before each test
23
- @instance = FormAPI::InlineResponse302.new
23
+ @instance = FormAPI::InlineResponse200.new
24
24
  end
25
25
 
26
26
  after do
27
27
  # run after each test
28
28
  end
29
29
 
30
- describe 'test an instance of InlineResponse302' do
31
- it 'should create an instance of InlineResponse302' do
32
- expect(@instance).to be_instance_of(FormAPI::InlineResponse302)
30
+ describe 'test an instance of InlineResponse200' do
31
+ it 'should create an instance of InlineResponse200' do
32
+ expect(@instance).to be_instance_of(FormAPI::InlineResponse200)
33
33
  end
34
34
  end
35
- describe 'test attribute "url"' do
35
+ describe 'test attribute "status"' do
36
36
  it 'should work' do
37
37
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ #validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"])
39
+ #validator.allowable_values.each do |value|
40
+ # expect { @instance.status = value }.not_to raise_error
41
+ #end
38
42
  end
39
43
  end
40
44
 
@@ -42,7 +42,7 @@ describe 'InlineResponse201' do
42
42
  end
43
43
  end
44
44
 
45
- describe 'test attribute "submission"' do
45
+ describe 'test attribute "combined_submission"' do
46
46
  it 'should work' do
47
47
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
48
48
  end
@@ -32,16 +32,6 @@ describe 'InlineResponse401' do
32
32
  expect(@instance).to be_instance_of(FormAPI::InlineResponse401)
33
33
  end
34
34
  end
35
- describe 'test attribute "status"' do
36
- it 'should work' do
37
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
- #validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["error"])
39
- #validator.allowable_values.each do |value|
40
- # expect { @instance.status = value }.not_to raise_error
41
- #end
42
- end
43
- end
44
-
45
35
  describe 'test attribute "error"' do
46
36
  it 'should work' do
47
37
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -12,6 +12,17 @@ Swagger Codegen version: 2.3.0-SNAPSHOT
12
12
 
13
13
  # load the gem
14
14
  require 'form_api'
15
+ require 'pry'
16
+ require 'vcr'
17
+ require 'webmock/rspec'
18
+
19
+ VCR.configure do |config|
20
+ config.cassette_library_dir = 'spec/vcr_cassettes'
21
+ config.hook_into :webmock
22
+ config.configure_rspec_metadata!
23
+ config.default_cassette_options = { record: :none, erb: true }
24
+ end
25
+
15
26
 
16
27
  # The following was generated by the `rspec --init` command. Conventionally, all
17
28
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
@@ -0,0 +1,127 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://app.formapi.io/api/v1/templates/6zz3dYRYM67fxMXA/submissions
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"data":{"first_name":"John","last_name":"Smith","favorite_color":"Blue"}}'
9
+ headers:
10
+ User-Agent:
11
+ - ruby-swagger-0.1.4
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ Authorization:
17
+ - Basic eVJhYVI5Sm1UUHRHWDdFTjpJQjNUUmtTZG00ZjJCZHRVX0QzWWd4amRNQjdsLXIyZk9ndnhEMVl6d2Vj
18
+ Expect:
19
+ - ''
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Date:
26
+ - Mon, 23 Oct 2017 08:53:50 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - __cfduid=d4d53a9027be371a677906f589a30f7c41508748829; expires=Tue, 23-Oct-18
35
+ 08:53:49 GMT; path=/; domain=.formapi.io; HttpOnly; Secure
36
+ X-Frame-Options:
37
+ - SAMEORIGIN
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ Etag:
43
+ - W/"eb69a8124689ebf40ff6462a48cb9abd"
44
+ Cache-Control:
45
+ - max-age=0, private, must-revalidate
46
+ X-Request-Id:
47
+ - c9a812dd-2625-48f1-94f1-906a0f654da4
48
+ X-Runtime:
49
+ - '0.172181'
50
+ Vary:
51
+ - Origin
52
+ Via:
53
+ - 1.1 vegur
54
+ Strict-Transport-Security:
55
+ - max-age=15552000; includeSubDomains; preload
56
+ Server:
57
+ - cloudflare-nginx
58
+ Cf-Ray:
59
+ - 3b2377d6ddec3108-SIN
60
+ body:
61
+ encoding: UTF-8
62
+ string: '{"status":"success","submission":{"state":"pending","test":true,"expired":false,"expires_at":null,"metadata":{},"id":"eyR4KFkaYKHztMdR","download_url":null}}'
63
+ http_version:
64
+ recorded_at: Mon, 23 Oct 2017 08:53:51 GMT
65
+ - request:
66
+ method: get
67
+ uri: https://app.formapi.io/api/v1/submissions/eyR4KFkaYKHztMdR
68
+ body:
69
+ encoding: US-ASCII
70
+ string: ''
71
+ headers:
72
+ User-Agent:
73
+ - ruby-swagger-0.1.4
74
+ Content-Type:
75
+ - application/json
76
+ Accept:
77
+ - application/json
78
+ Authorization:
79
+ - Basic eVJhYVI5Sm1UUHRHWDdFTjpJQjNUUmtTZG00ZjJCZHRVX0QzWWd4amRNQjdsLXIyZk9ndnhEMVl6d2Vj
80
+ Expect:
81
+ - ''
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Date:
88
+ - Mon, 23 Oct 2017 08:53:51 GMT
89
+ Content-Type:
90
+ - application/json; charset=utf-8
91
+ Transfer-Encoding:
92
+ - chunked
93
+ Connection:
94
+ - keep-alive
95
+ Set-Cookie:
96
+ - __cfduid=d7142a5733640fb24ab3761cc7bee67a81508748831; expires=Tue, 23-Oct-18
97
+ 08:53:51 GMT; path=/; domain=.formapi.io; HttpOnly; Secure
98
+ X-Frame-Options:
99
+ - SAMEORIGIN
100
+ X-Xss-Protection:
101
+ - 1; mode=block
102
+ X-Content-Type-Options:
103
+ - nosniff
104
+ Etag:
105
+ - W/"5cfdc9e8399ed11cb2d8031cbf3f6c8d"
106
+ Cache-Control:
107
+ - max-age=0, private, must-revalidate
108
+ X-Request-Id:
109
+ - 16162658-cda2-4855-8e86-51e449227d54
110
+ X-Runtime:
111
+ - '0.086900'
112
+ Vary:
113
+ - Origin
114
+ Via:
115
+ - 1.1 vegur
116
+ Strict-Transport-Security:
117
+ - max-age=15552000; includeSubDomains; preload
118
+ Server:
119
+ - cloudflare-nginx
120
+ Cf-Ray:
121
+ - 3b2377e26c733108-SIN
122
+ body:
123
+ encoding: UTF-8
124
+ string: '{"state":"processed","test":true,"expired":false,"expires_at":"2017-10-30T08:53:50.350Z","metadata":{},"id":"eyR4KFkaYKHztMdR","download_url":"https://formapi-docs.s3.amazonaws.com/store/submissions/eyR4KFkaYKHztMdR/20171023085350-eyR4KFka.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJMQF3V7PUSLOCZYA%2F20171023%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20171023T085351Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=e3798e78fdcc1a0293d1b200dd7836eebae74e0c048a1e58e00d64aaf4c9f184"}'
125
+ http_version:
126
+ recorded_at: Mon, 23 Oct 2017 08:53:52 GMT
127
+ recorded_with: VCR 3.0.3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "gemName": "form_api",
3
3
  "moduleName": "FormAPI",
4
- "gemVersion": "0.1.4",
4
+ "gemVersion": "0.1.5",
5
5
  "gemAuthor": "Form Applications Inc.",
6
6
  "gemAuthorEmail": "support@formapi.io",
7
7
  "gemHomepage": "https://github.com/FormAPI/formapi-ruby",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: form_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Form Applications Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-09 00:00:00.000000000 Z
11
+ date: 2017-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -110,6 +110,20 @@ dependencies:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: 1.24.3
113
+ - !ruby/object:Gem::Dependency
114
+ name: addressable
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 2.4.0
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: 2.4.0
113
127
  - !ruby/object:Gem::Dependency
114
128
  name: autotest
115
129
  requirement: !ruby/object:Gem::Requirement
@@ -211,25 +225,19 @@ dependencies:
211
225
  - !ruby/object:Gem::Version
212
226
  version: 11.2.2
213
227
  - !ruby/object:Gem::Dependency
214
- name: pry
228
+ name: pry-byebug
215
229
  requirement: !ruby/object:Gem::Requirement
216
230
  requirements:
217
- - - "~>"
218
- - !ruby/object:Gem::Version
219
- version: '0.10'
220
231
  - - ">="
221
232
  - !ruby/object:Gem::Version
222
- version: 0.10.4
233
+ version: '0'
223
234
  type: :development
224
235
  prerelease: false
225
236
  version_requirements: !ruby/object:Gem::Requirement
226
237
  requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: '0.10'
230
238
  - - ">="
231
239
  - !ruby/object:Gem::Version
232
- version: 0.10.4
240
+ version: '0'
233
241
  description: A client library for the FormAPI PDF generation service
234
242
  email:
235
243
  - support@formapi.io
@@ -242,6 +250,7 @@ files:
242
250
  - ".swagger-codegen-ignore"
243
251
  - ".swagger-codegen/VERSION"
244
252
  - ".swagger-revision"
253
+ - ".travis.yml"
245
254
  - CHANGELOG.md
246
255
  - Gemfile
247
256
  - LICENSE
@@ -259,6 +268,7 @@ files:
259
268
  - lib/form_api/configuration.rb
260
269
  - lib/form_api/models/data.rb
261
270
  - lib/form_api/models/data_1.rb
271
+ - lib/form_api/models/inline_response_200.rb
262
272
  - lib/form_api/models/inline_response_201.rb
263
273
  - lib/form_api/models/inline_response_201_1.rb
264
274
  - lib/form_api/models/inline_response_201_1_submission.rb
@@ -274,21 +284,22 @@ files:
274
284
  - scripts/release
275
285
  - scripts/swagger
276
286
  - scripts/test
287
+ - spec/api/client_spec.rb
277
288
  - spec/api/pdf_api_spec.rb
278
289
  - spec/api_client_spec.rb
279
290
  - spec/configuration_spec.rb
280
291
  - spec/models/data_1_spec.rb
281
292
  - spec/models/data_spec.rb
293
+ - spec/models/inline_response_200_spec.rb
282
294
  - spec/models/inline_response_201_1_spec.rb
283
295
  - spec/models/inline_response_201_1_submission_spec.rb
284
296
  - spec/models/inline_response_201_combined_submission_spec.rb
285
297
  - spec/models/inline_response_201_spec.rb
286
- - spec/models/inline_response_201_submission_spec.rb
287
- - spec/models/inline_response_302_spec.rb
288
298
  - spec/models/inline_response_400_spec.rb
289
299
  - spec/models/inline_response_401_spec.rb
290
300
  - spec/models/inline_response_422_spec.rb
291
301
  - spec/spec_helper.rb
302
+ - spec/vcr_cassettes/FormAPI_Client/should_generate_a_PDF_and_wait_for_the_submission_to_be_processed.yml
292
303
  - swagger-config.json
293
304
  homepage: https://github.com/FormAPI/formapi-ruby
294
305
  licenses:
@@ -310,23 +321,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
310
321
  version: '0'
311
322
  requirements: []
312
323
  rubyforge_project:
313
- rubygems_version: 2.6.12
324
+ rubygems_version: 2.6.13
314
325
  signing_key:
315
326
  specification_version: 4
316
327
  summary: A client library for the FormAPI PDF generation service
317
328
  test_files:
329
+ - spec/api/client_spec.rb
318
330
  - spec/api/pdf_api_spec.rb
319
331
  - spec/api_client_spec.rb
320
332
  - spec/configuration_spec.rb
321
333
  - spec/models/data_1_spec.rb
322
334
  - spec/models/data_spec.rb
335
+ - spec/models/inline_response_200_spec.rb
323
336
  - spec/models/inline_response_201_1_spec.rb
324
337
  - spec/models/inline_response_201_1_submission_spec.rb
325
338
  - spec/models/inline_response_201_combined_submission_spec.rb
326
339
  - spec/models/inline_response_201_spec.rb
327
- - spec/models/inline_response_201_submission_spec.rb
328
- - spec/models/inline_response_302_spec.rb
329
340
  - spec/models/inline_response_400_spec.rb
330
341
  - spec/models/inline_response_401_spec.rb
331
342
  - spec/models/inline_response_422_spec.rb
332
343
  - spec/spec_helper.rb
344
+ - spec/vcr_cassettes/FormAPI_Client/should_generate_a_PDF_and_wait_for_the_submission_to_be_processed.yml
@@ -1,58 +0,0 @@
1
- =begin
2
- #API V1
3
-
4
- #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
-
6
- OpenAPI spec version: v1
7
-
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'spec_helper'
14
- require 'json'
15
- require 'date'
16
-
17
- # Unit tests for FormAPI::InlineResponse201Submission
18
- # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
- # Please update as you see appropriate
20
- describe 'InlineResponse201Submission' do
21
- before do
22
- # run before each test
23
- @instance = FormAPI::InlineResponse201Submission.new
24
- end
25
-
26
- after do
27
- # run after each test
28
- end
29
-
30
- describe 'test an instance of InlineResponse201Submission' do
31
- it 'should create an instance of InlineResponse201Submission' do
32
- expect(@instance).to be_instance_of(FormAPI::InlineResponse201Submission)
33
- end
34
- end
35
- describe 'test attribute "id"' do
36
- it 'should work' do
37
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
- end
39
- end
40
-
41
- describe 'test attribute "state"' do
42
- it 'should work' do
43
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
- #validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["pending", "processed", "invalid_data", "error", "image_download_failed", "image_processing_failed"])
45
- #validator.allowable_values.each do |value|
46
- # expect { @instance.state = value }.not_to raise_error
47
- #end
48
- end
49
- end
50
-
51
- describe 'test attribute "download_url"' do
52
- it 'should work' do
53
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
54
- end
55
- end
56
-
57
- end
58
-