cloudscrape-client 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,38 @@
1
+ class CloudScrape
2
+ class Validate
3
+ def initialize(response:)
4
+ @response = response
5
+ end
6
+
7
+ def self.to_proc
8
+ ->(response) { with(response) }
9
+ end
10
+
11
+ def self.with(response)
12
+ new(response: response).validate
13
+ end
14
+
15
+ def validate
16
+ fail CloudScrape::InternalServerError, message if internal_server_error?
17
+ fail CloudScrape::NotFound, message if not_found?
18
+
19
+ true
20
+ end
21
+
22
+ private
23
+
24
+ attr_reader :response
25
+
26
+ def internal_server_error?
27
+ response.status == 500
28
+ end
29
+
30
+ def not_found?
31
+ response.status == 404
32
+ end
33
+
34
+ def message
35
+ response.body.fetch(:msg, "")
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,3 @@
1
+ class CloudScrape
2
+ VERSION = "0.1.3"
3
+ end
@@ -0,0 +1,180 @@
1
+ {
2
+ "id": "929def16-e7c9-d024-873c-bd0b61ee5c46",
3
+ "name": "CloudScrape",
4
+ "description": "",
5
+ "order": [],
6
+ "folders": [
7
+ {
8
+ "id": "71488e93-9454-db51-8b9c-e15eb0ccfda8",
9
+ "name": "Executions",
10
+ "description": "",
11
+ "order": [
12
+ "fd463224-a926-201f-75db-8ef02b8c257b",
13
+ "35175ab6-cccf-b3e6-692c-6a66b8c3d30f",
14
+ "744fd5a4-c477-2fe8-3bbd-66646767b46d",
15
+ "96ea0c3f-a697-e240-e554-c056680beba4",
16
+ "c8d593d5-fac6-0dbf-6710-aca83c8aeecc"
17
+ ],
18
+ "owner": "8933"
19
+ },
20
+ {
21
+ "id": "1ed33673-dfe5-e160-54d8-c2d1f325cd7e",
22
+ "name": "Runs",
23
+ "description": "",
24
+ "order": [
25
+ "e505df88-7b71-2e0d-798c-8ed3321aca77",
26
+ "d3ecd8c7-c9cf-8c95-5d8b-5a671bfe9403"
27
+ ],
28
+ "owner": "8933",
29
+ "collectionId": "3f32f4dc-6fea-55e9-bee8-8f5235c1065c"
30
+ }
31
+ ],
32
+ "timestamp": 1444423682919,
33
+ "owner": "8933",
34
+ "remoteLink": "",
35
+ "public": false,
36
+ "requests": [
37
+ {
38
+ "id": "35175ab6-cccf-b3e6-692c-6a66b8c3d30f",
39
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
40
+ "url": "https://app.cloudscrape.com/api/executions/1f164370-704b-4402-bc15-ba1d00a19d01",
41
+ "preRequestScript": "",
42
+ "pathVariables": {},
43
+ "method": "GET",
44
+ "data": [],
45
+ "dataMode": "params",
46
+ "version": 2,
47
+ "tests": "",
48
+ "currentHelper": "normal",
49
+ "helperAttributes": {},
50
+ "time": 1444436953179,
51
+ "name": "Get",
52
+ "description": "Get execution\n\nhttps://app.cloudscrape.com/#/api/sections/executions/get",
53
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
54
+ "responses": [],
55
+ "folder": "71488e93-9454-db51-8b9c-e15eb0ccfda8"
56
+ },
57
+ {
58
+ "id": "744fd5a4-c477-2fe8-3bbd-66646767b46d",
59
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
60
+ "url": "https://app.cloudscrape.com/api/executions/1f164370-704b-4402-bc15-ba1d00a19d01/stop",
61
+ "preRequestScript": "",
62
+ "pathVariables": {},
63
+ "method": "POST",
64
+ "data": [],
65
+ "dataMode": "params",
66
+ "version": 2,
67
+ "tests": "",
68
+ "currentHelper": "normal",
69
+ "helperAttributes": {},
70
+ "time": 1444436980442,
71
+ "name": "Stop",
72
+ "description": "Stop execution. Note that an execution does not stop immediately.\n\nhttps://app.cloudscrape.com/#/api/sections/executions/stop",
73
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
74
+ "responses": [],
75
+ "folder": "71488e93-9454-db51-8b9c-e15eb0ccfda8"
76
+ },
77
+ {
78
+ "id": "96ea0c3f-a697-e240-e554-c056680beba4",
79
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
80
+ "url": "https://app.cloudscrape.com/api/executions/1f164370-704b-4402-bc15-ba1d00a19d01/continue",
81
+ "preRequestScript": "",
82
+ "pathVariables": {},
83
+ "method": "POST",
84
+ "data": [],
85
+ "dataMode": "params",
86
+ "version": 2,
87
+ "tests": "",
88
+ "currentHelper": "normal",
89
+ "helperAttributes": {},
90
+ "time": 1444436996122,
91
+ "name": "Continue",
92
+ "description": "Continue a stopped execution. Note that the execution might not start immediately.\n\nhttps://app.cloudscrape.com/#/api/sections/executions/continue",
93
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
94
+ "responses": [],
95
+ "folder": "71488e93-9454-db51-8b9c-e15eb0ccfda8"
96
+ },
97
+ {
98
+ "id": "c8d593d5-fac6-0dbf-6710-aca83c8aeecc",
99
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
100
+ "url": "https://app.cloudscrape.com/api/executions/1f164370-704b-4402-bc15-ba1d00a19d01",
101
+ "preRequestScript": "",
102
+ "pathVariables": {},
103
+ "method": "DELETE",
104
+ "data": [],
105
+ "dataMode": "params",
106
+ "version": 2,
107
+ "tests": "",
108
+ "currentHelper": "normal",
109
+ "helperAttributes": {},
110
+ "time": 1444437024303,
111
+ "name": "Remove",
112
+ "description": "Delete execution permanently\n\nhttps://app.cloudscrape.com/#/api/sections/executions/remove",
113
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
114
+ "responses": [],
115
+ "folder": "71488e93-9454-db51-8b9c-e15eb0ccfda8"
116
+ },
117
+ {
118
+ "id": "d3ecd8c7-c9cf-8c95-5d8b-5a671bfe9403",
119
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
120
+ "url": "https://app.cloudscrape.com/api/runs/27c719bb-f28f-49f5-aedf-dba2f8e60ba3/execute/inputs?connect=true",
121
+ "preRequestScript": "",
122
+ "pathVariables": {},
123
+ "method": "POST",
124
+ "data": [],
125
+ "dataMode": "raw",
126
+ "version": 2,
127
+ "tests": "",
128
+ "currentHelper": "normal",
129
+ "helperAttributes": {},
130
+ "time": 1444566409009,
131
+ "name": "Execute with Input",
132
+ "description": "Starts new execution of run using the input from the body instead of the run itself.\n\nhttps://app.cloudscrape.com/#/api/sections/runs/executeWithInput",
133
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
134
+ "responses": [],
135
+ "rawModeData": "{\n \"url\": \"http://google.com\"\n}"
136
+ },
137
+ {
138
+ "id": "e505df88-7b71-2e0d-798c-8ed3321aca77",
139
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
140
+ "url": "https://app.cloudscrape.com/api/runs/27c719bb-f28f-49f5-aedf-dba2f8e60ba3/execute",
141
+ "pathVariables": {},
142
+ "preRequestScript": "",
143
+ "method": "POST",
144
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
145
+ "data": [],
146
+ "dataMode": "params",
147
+ "name": "Execute",
148
+ "description": "Start new execution of run.\n\nhttps://app.cloudscrape.com/#/api/sections/runs/execute",
149
+ "descriptionFormat": "html",
150
+ "time": 1444433278119,
151
+ "version": 2,
152
+ "responses": [],
153
+ "tests": "",
154
+ "currentHelper": "normal",
155
+ "helperAttributes": {},
156
+ "folder": "1ed33673-dfe5-e160-54d8-c2d1f325cd7e",
157
+ "isFromCollection": true
158
+ },
159
+ {
160
+ "id": "fd463224-a926-201f-75db-8ef02b8c257b",
161
+ "headers": "X-CloudScrape-Access: d7818ef991012e3c94e8ea3cda149936\nX-CloudScrape-Account: a274a8b2-a664-4acb-959c-9de28644877d\nAccept: application/json\nContent-Type: application/json\nUser-Agent: CS-RUBY-CLIENT/1.0\nAccept-Encoding: UTF-8\nTransfer-Encoding: UTF-8\n",
162
+ "url": "https://app.cloudscrape.com/api/executions/1f164370-704b-4402-bc15-ba1d00a19d01/result",
163
+ "preRequestScript": "",
164
+ "pathVariables": {},
165
+ "method": "GET",
166
+ "data": [],
167
+ "dataMode": "params",
168
+ "version": 2,
169
+ "tests": "",
170
+ "currentHelper": "normal",
171
+ "helperAttributes": {},
172
+ "time": 1444436918679,
173
+ "name": "Result",
174
+ "description": "Get execution result. As a result can be very large it is advised that you use some method of streaming to parse the result and insert it into your data store of choice.\n\nhttps://app.cloudscrape.com/#/api/sections/executions/getResult",
175
+ "collectionId": "929def16-e7c9-d024-873c-bd0b61ee5c46",
176
+ "responses": [],
177
+ "folder": "71488e93-9454-db51-8b9c-e15eb0ccfda8"
178
+ }
179
+ ]
180
+ }
metadata ADDED
@@ -0,0 +1,234 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cloudscrape-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ platform: ruby
6
+ authors:
7
+ - Charles J Hardy
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-10-13 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: '0.9'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday_middleware
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '0.10'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '0.10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday-conductivity
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '0.3'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday_middleware-multi_json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '0.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.10'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.10'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '10.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '10.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: vcr
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: Wrapper for CloudScrape API
168
+ email:
169
+ - support@cloudscrape.com
170
+ executables: []
171
+ extensions: []
172
+ extra_rdoc_files: []
173
+ files:
174
+ - .gitignore
175
+ - .rspec
176
+ - .rubocop.yml
177
+ - .simplecov
178
+ - .travis.yml
179
+ - CODE_OF_CONDUCT.md
180
+ - Gemfile
181
+ - LICENSE.txt
182
+ - README.md
183
+ - Rakefile
184
+ - bin/bundler
185
+ - bin/console
186
+ - bin/htmldiff
187
+ - bin/ldiff
188
+ - bin/rake
189
+ - bin/rspec
190
+ - bin/rubocop
191
+ - bin/ruby-parse
192
+ - bin/ruby-rewrite
193
+ - bin/safe_yaml
194
+ - bin/setup
195
+ - bin/test
196
+ - cloudscrape-client-ruby.gemspec
197
+ - lib/cloud_scrape.rb
198
+ - lib/cloud_scrape/api.rb
199
+ - lib/cloud_scrape/configuration.rb
200
+ - lib/cloud_scrape/dto.rb
201
+ - lib/cloud_scrape/execution_dto.rb
202
+ - lib/cloud_scrape/executions.rb
203
+ - lib/cloud_scrape/executions/get.rb
204
+ - lib/cloud_scrape/executions/result.rb
205
+ - lib/cloud_scrape/run_dto.rb
206
+ - lib/cloud_scrape/runs.rb
207
+ - lib/cloud_scrape/validate.rb
208
+ - lib/cloud_scrape/version.rb
209
+ - postman_collection
210
+ homepage: http://cloudscrape.com
211
+ licenses:
212
+ - MIT
213
+ metadata: {}
214
+ post_install_message:
215
+ rdoc_options: []
216
+ require_paths:
217
+ - lib
218
+ required_ruby_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '>='
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ required_rubygems_version: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - '>='
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ requirements: []
229
+ rubyforge_project:
230
+ rubygems_version: 2.0.14
231
+ signing_key:
232
+ specification_version: 4
233
+ summary: Wrapper for CloudScrape API
234
+ test_files: []