jotform_api_client 0.1.9

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 53255eb5cc534b5c14e0679386fbc530fc64912f566058dbc30f9f21200772d5
4
+ data.tar.gz: a343e4c234309c0e927415ec9e4dcf6aa354ee77bff9061ac773d56c867c61fd
5
+ SHA512:
6
+ metadata.gz: 518be602967eae70138d107730d345787b8c846ee791fe6540c230d18ccaaaa96634b823e8132a420748130a4ee3031171721e3713c7175ea8bf2eaa7a858794
7
+ data.tar.gz: b38cf7ce6b56e42f7c11bc80676e0b5d4677e7d1b1a7ee8a5741b0c4e937870a9190208f99982c5a5b9c165581ecb46daffb74f610537b4f6d02258a2022e399
data/lib/base_class.rb ADDED
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'faraday'
4
+
5
+ # BaseClass
6
+ class BaseClass
7
+ def initialize(api_key = '')
8
+ @api_key = api_key
9
+ @root_url = 'https://api.jotform.com'
10
+ end
11
+
12
+ def request_base
13
+ Faraday.new(
14
+ url: @root_url,
15
+ headers: { 'Content-Type': 'application/json' }
16
+ )
17
+ end
18
+
19
+ def submit_get_request(url, params = {})
20
+ conn = request_base
21
+
22
+ if !params.nil? && !params.empty?
23
+ conn.get(url) do |req|
24
+ req.params['apiKey'] = @api_key
25
+ req.params = req.params.merge(params)
26
+ end
27
+ else
28
+ conn.get(url) do |req|
29
+ req.params['apiKey'] = @api_key
30
+ end
31
+ end
32
+ end
33
+
34
+ def submit_post_request(url, params = {})
35
+ conn = request_base
36
+
37
+ if !params.nil? && !params.empty?
38
+ conn.post(url) do |req|
39
+ req.body = { apiKey: @api_key }
40
+ req.body = req.body.merge(params).to_json
41
+ end
42
+ else
43
+ conn.post(url) do |req|
44
+ req.body = { apiKey: @api_key }.to_json
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,213 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './base_class'
4
+
5
+ # JotFormApiClient
6
+ class JotFormApiClient < BaseClass
7
+ def user
8
+ response = submit_get_request('/user')
9
+
10
+ response_body = {}
11
+ response_body = response.body if response.status == 200
12
+
13
+ response_body
14
+ end
15
+
16
+ def user_usage
17
+ response = submit_get_request('/user/usage')
18
+
19
+ response_body = {}
20
+ response_body = response.body if response.status == 200
21
+
22
+ response_body
23
+ end
24
+
25
+ def user_submissions(params = {})
26
+ response = submit_get_request('/user/submissions', params)
27
+
28
+ response_body = {}
29
+ response_body = response.body if response.status == 200
30
+
31
+ response_body
32
+ end
33
+
34
+ def user_subusers
35
+ response = submit_get_request('/user/subusers')
36
+
37
+ response_body = {}
38
+ response_body = response.body if response.status == 200
39
+
40
+ response_body
41
+ end
42
+
43
+ def user_folders
44
+ response = submit_get_request('/user/folders')
45
+
46
+ response_body = {}
47
+ response_body = response.body if response.status == 200
48
+
49
+ response_body
50
+ end
51
+
52
+ def user_reports
53
+ response = submit_get_request('/user/reports')
54
+
55
+ response_body = {}
56
+ response_body = response.body if response.status == 200
57
+
58
+ response_body
59
+ end
60
+
61
+ def user_settings
62
+ response = submit_get_request('/user/settings')
63
+
64
+ response_body = {}
65
+ response_body = response.body if response.status == 200
66
+
67
+ response_body
68
+ end
69
+
70
+ def user_history(params = {})
71
+ response = submit_get_request('/user/history', params)
72
+
73
+ response_body = {}
74
+ response_body = response.body if response.status == 200
75
+
76
+ response_body
77
+ end
78
+
79
+ def user_forms(params = {})
80
+ response = submit_get_request('/user/forms', params)
81
+
82
+ response_body = {}
83
+ response_body = response.body if response.status == 200
84
+
85
+ response_body
86
+ end
87
+
88
+ def create_form(params = {})
89
+ response = submit_post_request('/form', params)
90
+
91
+ response_body = {}
92
+ response_body = response.body if response.status == 200
93
+
94
+ response_body
95
+ end
96
+
97
+ def get_form_by_id(id = '')
98
+ response = submit_get_request("/form/#{id}")
99
+
100
+ response_body = {}
101
+ response_body = response.body if response.status == 200
102
+
103
+ response_body
104
+ end
105
+
106
+ def get_form_questions(id = '')
107
+ response = submit_get_request("/form/#{id}/questions")
108
+
109
+ response_body = {}
110
+ response_body = response.body if response.status == 200
111
+
112
+ response_body
113
+ end
114
+
115
+ def get_form_question(form_id = '', question_id = '')
116
+ response = submit_get_request("/form/#{form_id}/question/#{question_id}")
117
+
118
+ response_body = {}
119
+ response_body = response.body if response.status == 200
120
+
121
+ response_body
122
+ end
123
+
124
+ def get_form_properties(form_id = '')
125
+ response = submit_get_request("/form/#{form_id}/properties")
126
+
127
+ response_body = {}
128
+ response_body = response.body if response.status == 200
129
+
130
+ response_body
131
+ end
132
+
133
+ def get_form_property(form_id = '', property_key = '')
134
+ response = submit_get_request("/form/#{form_id}/properties/#{property_key}")
135
+
136
+ response_body = {}
137
+ response_body = response.body if response.status == 200
138
+
139
+ response_body
140
+ end
141
+
142
+ def get_form_submissions(form_id = '', params = {})
143
+ response = submit_get_request("/form/#{form_id}/submissions", params)
144
+
145
+ response_body = {}
146
+ response_body = response.body if response.status == 200
147
+
148
+ response_body
149
+ end
150
+
151
+ def get_form_files(form_id = '')
152
+ response = submit_get_request("/form/#{form_id}/files")
153
+
154
+ response_body = {}
155
+ response_body = response.body if response.status == 200
156
+
157
+ response_body
158
+ end
159
+
160
+ def get_form_webhooks(form_id = '')
161
+ response = submit_get_request("/form/#{form_id}/webhooks")
162
+
163
+ response_body = {}
164
+ response_body = response.body if response.status == 200
165
+
166
+ response_body
167
+ end
168
+
169
+ def create_form_webhooks(form_id = '', params = {})
170
+ response = submit_post_request("/form/#{form_id}/webhooks", params)
171
+
172
+ response_body = {}
173
+ response_body = response.body if response.status == 200
174
+
175
+ response_body
176
+ end
177
+
178
+ def create_form_submissions(form_id = '', params = {})
179
+ response = submit_post_request("/form/#{form_id}/submissions", params)
180
+
181
+ response_body = {}
182
+ response_body = response.body if response.status == 200
183
+
184
+ response_body
185
+ end
186
+
187
+ def get_submission(submission_id = '')
188
+ response = submit_get_request("/submission/#{submission_id}")
189
+
190
+ response_body = {}
191
+ response_body = response.body if response.status == 200
192
+
193
+ response_body
194
+ end
195
+
196
+ def get_report(report_id = '')
197
+ response = submit_get_request("/report/#{report_id}")
198
+
199
+ response_body = {}
200
+ response_body = response.body if response.status == 200
201
+
202
+ response_body
203
+ end
204
+
205
+ def get_folder(folder_id = '')
206
+ response = submit_get_request("/folder/#{folder_id}")
207
+
208
+ response_body = {}
209
+ response_body = response.body if response.status == 200
210
+
211
+ response_body
212
+ end
213
+ end
metadata ADDED
@@ -0,0 +1,144 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jotform_api_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.9
5
+ platform: ruby
6
+ authors:
7
+ - Donald Wu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-06-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dotenv
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faker
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.19.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.19.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: reek
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 3.10.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 3.10.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.25'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.25'
97
+ - !ruby/object:Gem::Dependency
98
+ name: solargraph
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.44.3
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.44.3
111
+ description: jotform_api_client is a ruby client for the JotForm API
112
+ email: yeukfei02@gmail.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - lib/base_class.rb
118
+ - lib/jotform_api_client.rb
119
+ homepage: https://rubygems.org/gems/jotform_api_client
120
+ licenses:
121
+ - MIT
122
+ metadata:
123
+ documentation_uri: https://github.com/yeukfei02/jotform-api-client
124
+ source_code_uri: https://github.com/yeukfei02/jotform-api-client
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 2.7.0
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubygems_version: 3.1.6
141
+ signing_key:
142
+ specification_version: 4
143
+ summary: jotform_api_client is a ruby client for the JotForm API
144
+ test_files: []