formstack-api 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.formstack.com/api/v2/form.json?folders=1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <ACCESS_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Wed, 05 Nov 2014 15:13:28 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '3600'
25
+ Connection:
26
+ - keep-alive
27
+ P3p:
28
+ - CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI
29
+ DSP COR"
30
+ Set-Cookie:
31
+ - FormstackAdmin=mcshn9sthp8p5uund424ar99m7; path=/api/; secure; HttpOnly
32
+ Cache-Control:
33
+ - no-cache
34
+ body:
35
+ encoding: UTF-8
36
+ string: '{"forms":{"none":[{"id":"<FORM_ID>","name":"Test Form","viewkey":"ex3qBur1AS","views":"4","created":"2014-09-17
37
+ 19:44:47","updated":"2014-11-05 09:37:02","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?<FORM_ID>-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867858","name":"Test
38
+ Form - COPY","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 15:38:45","updated":"2014-11-05
39
+ 09:55:04","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867858-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867867","name":"Test
40
+ Form - COPY 2","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 15:58:27","updated":"2014-11-05
41
+ 09:58:27","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867867-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867869","name":"Test
42
+ Form - COPY 3","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:00:16","updated":"2014-11-05
43
+ 10:00:16","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867869-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867872","name":"Test
44
+ Form - COPY 4","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:01:47","updated":"2014-11-05
45
+ 10:01:47","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867872-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867873","name":"Test
46
+ Form - COPY 5","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:03:03","updated":"2014-11-05
47
+ 10:03:03","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867873-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867884","name":"Test
48
+ Form - COPY 6","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:10:09","updated":"2014-11-05
49
+ 10:10:09","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867884-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"}]}}'
50
+ http_version:
51
+ recorded_at: Wed, 05 Nov 2014 15:13:28 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.formstack.com/api/v2/form.json?folders=0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <ACCESS_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Wed, 05 Nov 2014 15:13:28 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '3591'
25
+ Connection:
26
+ - keep-alive
27
+ P3p:
28
+ - CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI
29
+ DSP COR"
30
+ Set-Cookie:
31
+ - FormstackAdmin=5p2bifivcmja3qi69mi7ei7j24; path=/api/; secure; HttpOnly
32
+ Cache-Control:
33
+ - no-cache
34
+ body:
35
+ encoding: UTF-8
36
+ string: '{"forms":[{"id":"<FORM_ID>","name":"Test Form","viewkey":"ex3qBur1AS","views":"4","created":"2014-09-17
37
+ 19:44:47","updated":"2014-11-05 09:37:02","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?<FORM_ID>-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867858","name":"Test
38
+ Form - COPY","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 15:38:45","updated":"2014-11-05
39
+ 09:55:04","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867858-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867867","name":"Test
40
+ Form - COPY 2","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 15:58:27","updated":"2014-11-05
41
+ 09:58:27","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867867-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867869","name":"Test
42
+ Form - COPY 3","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:00:16","updated":"2014-11-05
43
+ 10:00:16","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867869-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867872","name":"Test
44
+ Form - COPY 4","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:01:47","updated":"2014-11-05
45
+ 10:01:47","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867872-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867873","name":"Test
46
+ Form - COPY 5","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:03:03","updated":"2014-11-05
47
+ 10:03:03","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867873-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"},{"id":"1867884","name":"Test
48
+ Form - COPY 6","viewkey":"ex3qBur1AS","views":"0","created":"2014-11-05 16:10:09","updated":"2014-11-05
49
+ 10:10:09","deleted":"0","submissions":"0","submissions_unread":"0","submissions_today":0,"url":"http:\/\/www.formstack.com\/forms\/?1867884-ex3qBur1AS","data_url":"","summary_url":"","rss_url":"","encrypted":false,"thumbnail_url":"https:\/\/s3.amazonaws.com\/files.formstack.com\/admin\/","submit_button_title":null,"inactive":false,"timezone":"US\/Eastern","permissions":"full"}]}'
50
+ http_version:
51
+ recorded_at: Wed, 05 Nov 2014 15:13:27 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,39 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.formstack.com/api/v2/form.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer fail
12
+ response:
13
+ status:
14
+ code: 401
15
+ message: Unauthorized
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Wed, 05 Nov 2014 15:13:27 GMT
21
+ Content-Type:
22
+ - text/html; charset=UTF-8
23
+ Content-Length:
24
+ - '0'
25
+ Connection:
26
+ - keep-alive
27
+ P3p:
28
+ - CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI
29
+ DSP COR"
30
+ Set-Cookie:
31
+ - FormstackAdmin=iceg9r39uau2mt7gr6m8u2gph1; path=/api/; secure; HttpOnly
32
+ Www-Authenticate:
33
+ - Bearer realm='Service', error='invalid_token'
34
+ body:
35
+ encoding: UTF-8
36
+ string: ''
37
+ http_version:
38
+ recorded_at: Wed, 05 Nov 2014 15:13:26 GMT
39
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,145 @@
1
+ require_relative '../lib/formstack/api'
2
+
3
+ RSpec.describe Formstack::API do
4
+
5
+ subject(:wrapper) { Formstack::API.new(access_token) }
6
+ let(:access_token) { ACCESS_TOKEN }
7
+ let(:valid_form_id) { FORM_ID }
8
+ let(:invalid_form_id) { 1234 }
9
+ let(:inaccessible_form_id) { INACCESSIBLE_FORM_ID }
10
+
11
+ describe '#request', :vcr do
12
+
13
+ it 'raises an exception when endpoint is empty' do
14
+ expect{wrapper.request('')}.to raise_exception('Missing End Point')
15
+ end
16
+
17
+ it 'raises an exception with a bad verb' do
18
+ expect{wrapper.request('/test/endpoint', 'FAIL')}.to raise_exception('Wrong verb')
19
+ end
20
+
21
+ let(:access_token) { 'fail' }
22
+ it 'raises an exception with a bad token' do
23
+ expect{wrapper.request('form.json')}.to raise_exception('Bad token')
24
+ end
25
+ end
26
+
27
+ describe '#forms', :vcr do
28
+ it 'responds with no folders by default' do
29
+ forms = wrapper.forms
30
+ expect(forms.class).to eq(Array)
31
+ end
32
+
33
+ it 'gets folders when asked' do
34
+ folders = wrapper.forms(true)
35
+ expect(folders.class).to eq(Hash)
36
+ end
37
+ end
38
+
39
+ describe '#form_details', :vcr do
40
+ it 'reads a form name' do
41
+ form = wrapper.form_details(valid_form_id)
42
+ expect(form['name']).to eq('Test Form')
43
+ end
44
+
45
+ it 'raises an error if form id is not a number' do
46
+ expect{wrapper.form_details('TEXT')}.to raise_exception('Form ID must be numeric')
47
+ end
48
+
49
+ it 'responds with an error if form id doesnt exist' do
50
+ response = wrapper.form_details(invalid_form_id)
51
+ expect(response['status']).to eq('error')
52
+ expect(response['error']).to eq('The form was not found')
53
+ end
54
+
55
+ it 'responds with an error if you dont have access to form' do
56
+ response = wrapper.form_details(inaccessible_form_id)
57
+ expect(response['status']).to eq('error')
58
+ expect(response['error']).to eq('You do not have high enough permissions for this form.')
59
+ end
60
+ end
61
+
62
+ describe '#copy_form', :vcr do
63
+ it 'adds COPY at the end of the form name' do
64
+ form = wrapper.form_details(valid_form_id)
65
+ copied_form = wrapper.copy_form(valid_form_id)
66
+ expect(copied_form['name']).to match(/^#{form['name']} - COPY/)
67
+ end
68
+
69
+ it 'raises an error if form id is not a number' do
70
+ expect{wrapper.copy_form('TEXT')}.to raise_exception('Form ID must be numeric')
71
+ end
72
+
73
+ it 'raises an error if form id is invalid' do
74
+ response = wrapper.copy_form(invalid_form_id)
75
+ expect(response['status']).to eq('error')
76
+ expect(response['error']).to eq('A valid form id was not supplied')
77
+ end
78
+ end
79
+
80
+ describe '#form_submissions', :vcr do
81
+ it 'gets submissions default' do
82
+ form = wrapper.form_details(valid_form_id)
83
+ submissions_count = form['submissions'].to_i > 25 ? 25 : form['submissions'].to_i
84
+
85
+ submissions = wrapper.form_submissions(valid_form_id)
86
+ expect(submissions_count).to eq(submissions.count)
87
+ end
88
+
89
+ it 'raises an error if form id isnt numeric' do
90
+ expect{wrapper.form_submissions('TEXT')}.to raise_exception('Form ID must be numeric')
91
+ end
92
+
93
+ it 'raises an error if min time is invalid' do
94
+ expect{wrapper.form_submissions(valid_form_id, '', 'BAD')}.to raise_exception('Invalid value for minTime parameter')
95
+ end
96
+
97
+ it 'raises an error if max time is invalid' do
98
+ expect{wrapper.form_submissions(valid_form_id, '', '', 'BAD')}.to raise_exception('Invalid value for maxTime parameter')
99
+ end
100
+
101
+ it 'raises an error for a search mismatch' do
102
+ field_ids = [1, 2, 3]
103
+ field_values = ['test-1', 'test-2']
104
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', field_ids, field_values)}.to raise_exception('You must have a one to one relationship')
105
+ end
106
+
107
+ it 'raises an error for a search mismatch reversed' do
108
+ field_ids = [1, 2]
109
+ field_values = ['test-1', 'test-2', 'test-3']
110
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', field_ids, field_values)}.to raise_exception('You must have a one to one relationship')
111
+ end
112
+
113
+ it 'raises an error if field ids are not numeric' do
114
+ field_ids = [1, 'two']
115
+ field_values = ['test-1', 'test-2']
116
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', field_ids, field_values)}.to raise_exception('Field IDs must be numeric')
117
+ end
118
+
119
+ it 'raises an error if per_page is not numeric' do
120
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', [], [], 1, 'fail')}.to raise_exception('The perPage value must be numeric')
121
+ end
122
+
123
+ it 'raises an error if requests per page are less than 1' do
124
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', [], [], 1, 0)}.to raise_exception('You can only retrieve a minimum of 1 and maximum of 100 submissions per request')
125
+ end
126
+
127
+ it 'raises an error if requests per page are more than 100' do
128
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', [], [], 1, 101)}.to raise_exception('You can only retrieve a minimum of 1 and maximum of 100 submissions per request')
129
+ end
130
+
131
+ it 'raises an error if page_number is not numeric' do
132
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', [], [], 'fail')}.to raise_exception('The pageNumber value must be numeric')
133
+ end
134
+
135
+ it 'raises an error if page number is not working'
136
+
137
+ it 'raises an error if the sort parameter is invalid' do
138
+ expect{wrapper.form_submissions(valid_form_id, '', '', '', [], [], 1, 100, 'fail')}.to raise_exception('The sort parameter must be ASC or DESC')
139
+ end
140
+
141
+ it 'returns false with no data'
142
+ it 'returns true with data'
143
+
144
+ end
145
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: formstack-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Mauro Morales
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.6'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '4.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '4.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: vcr
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.9'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.9'
111
+ - !ruby/object:Gem::Dependency
112
+ name: webmock
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.18'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.18'
125
+ description: Ruby Formstack API V2 Ruby Wrapper based on https://github.com/formstack/formstack-api/tree/master/php.
126
+ email:
127
+ - contact@mauromorales.com
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - ".gitignore"
133
+ - ".rspec"
134
+ - ".travis.yml"
135
+ - Gemfile
136
+ - Guardfile
137
+ - LICENSE.txt
138
+ - README.md
139
+ - Rakefile
140
+ - formstack-api.gemspec
141
+ - lib/formstack/api.rb
142
+ - lib/formstack/api/version.rb
143
+ - spec/spec_helper.rb
144
+ - spec/support/vcr.rb
145
+ - spec/vcr/Formstack_API/_copy_form/adds_COPY_at_the_end_of_the_form_name.yml
146
+ - spec/vcr/Formstack_API/_copy_form/raises_an_error_if_form_id_is_invalid.yml
147
+ - spec/vcr/Formstack_API/_form_details/reads_a_form_name.yml
148
+ - spec/vcr/Formstack_API/_form_details/responds_with_an_error_if_form_id_doesnt_exist.yml
149
+ - spec/vcr/Formstack_API/_form_details/responds_with_an_error_if_you_dont_have_access_to_form.yml
150
+ - spec/vcr/Formstack_API/_form_submissions/gets_submissions_default.yml
151
+ - spec/vcr/Formstack_API/_forms/gets_folders_when_asked.yml
152
+ - spec/vcr/Formstack_API/_forms/responds_with_no_folders_by_default.yml
153
+ - spec/vcr/Formstack_API/_request/raises_an_exception_with_a_bad_token.yml
154
+ - spec/wrapper_spec.rb
155
+ homepage: https://github.com/LAS-IT/formstack-api
156
+ licenses:
157
+ - MIT
158
+ metadata: {}
159
+ post_install_message:
160
+ rdoc_options: []
161
+ require_paths:
162
+ - lib
163
+ required_ruby_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements: []
174
+ rubyforge_project:
175
+ rubygems_version: 2.2.2
176
+ signing_key:
177
+ specification_version: 4
178
+ summary: Formstack API V2 Ruby Wrapper.
179
+ test_files:
180
+ - spec/spec_helper.rb
181
+ - spec/support/vcr.rb
182
+ - spec/vcr/Formstack_API/_copy_form/adds_COPY_at_the_end_of_the_form_name.yml
183
+ - spec/vcr/Formstack_API/_copy_form/raises_an_error_if_form_id_is_invalid.yml
184
+ - spec/vcr/Formstack_API/_form_details/reads_a_form_name.yml
185
+ - spec/vcr/Formstack_API/_form_details/responds_with_an_error_if_form_id_doesnt_exist.yml
186
+ - spec/vcr/Formstack_API/_form_details/responds_with_an_error_if_you_dont_have_access_to_form.yml
187
+ - spec/vcr/Formstack_API/_form_submissions/gets_submissions_default.yml
188
+ - spec/vcr/Formstack_API/_forms/gets_folders_when_asked.yml
189
+ - spec/vcr/Formstack_API/_forms/responds_with_no_folders_by_default.yml
190
+ - spec/vcr/Formstack_API/_request/raises_an_exception_with_a_bad_token.yml
191
+ - spec/wrapper_spec.rb