site_watcher 1.1.0 → 1.2.0
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 +4 -4
- data/lib/site_watcher.rb +18 -9
- data/lib/site_watcher/version.rb +1 -1
- metadata +11 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c4e2f96ed610dcd80aad605e87d12a091279ba95a3acf1c02fab68996758ceee
|
|
4
|
+
data.tar.gz: f515eec47e817828a5f434a2c53c1b3b157f159bf0b37d72785f62c3b785bda3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fdf0653dfdcf6cb27498d2af4b519daeebe157b11a6b98534821f2d8ee31ea8cd57a1377ed81b93e20706457e46eb521c823d1cbcdef3c699fe7c6dcac7e39bd
|
|
7
|
+
data.tar.gz: d3e1888fb72ef0d9e7d9acb0661ed50699325539f377d6cf1675a7a9f4a169eab7f6c897e8ec62df7eff2c6c86235092f4146a56a37be09f582a46412e6d475e
|
data/lib/site_watcher.rb
CHANGED
|
@@ -115,6 +115,7 @@ class SiteWatcher
|
|
|
115
115
|
@__sw_headers = headers
|
|
116
116
|
@__sw_http_opts = opts
|
|
117
117
|
@__sw_fulfilled = nil
|
|
118
|
+
@__sw_fetch = nil
|
|
118
119
|
@__sw_remove_on_fulfillment = true
|
|
119
120
|
end
|
|
120
121
|
|
|
@@ -126,6 +127,10 @@ class SiteWatcher
|
|
|
126
127
|
@__sw_fulfilled = block
|
|
127
128
|
end
|
|
128
129
|
|
|
130
|
+
def fetch(&block)
|
|
131
|
+
@__sw_fetch = block
|
|
132
|
+
end
|
|
133
|
+
|
|
129
134
|
def headers(hash)
|
|
130
135
|
@__sw_headers = hash
|
|
131
136
|
end
|
|
@@ -143,19 +148,23 @@ class SiteWatcher
|
|
|
143
148
|
end
|
|
144
149
|
|
|
145
150
|
def __sw_run!(force=false)
|
|
146
|
-
|
|
147
|
-
.
|
|
148
|
-
.request(@__sw_method, @__sw_url, **@__sw_http_opts)
|
|
149
|
-
|
|
150
|
-
case response.content_type.mime_type
|
|
151
|
-
when /json/i
|
|
152
|
-
page = ::JSON.parse(response.to_s)
|
|
151
|
+
if @__sw_fetch
|
|
152
|
+
response = @__sw_fetch.call(@__sw_url)
|
|
153
153
|
else
|
|
154
|
-
|
|
154
|
+
response = ::HTTP
|
|
155
|
+
.headers(@__sw_headers)
|
|
156
|
+
.request(@__sw_method, @__sw_url, **@__sw_http_opts)
|
|
157
|
+
|
|
158
|
+
case response.content_type.mime_type
|
|
159
|
+
when /json/i
|
|
160
|
+
response = ::JSON.parse(response.to_s)
|
|
161
|
+
else
|
|
162
|
+
response = ::Capybara::Node::Simple.new(response.to_s)
|
|
163
|
+
end
|
|
155
164
|
end
|
|
156
165
|
|
|
157
166
|
begin
|
|
158
|
-
@__sw_tests.each { |test| test.call(
|
|
167
|
+
@__sw_tests.each { |test| test.call(response) }
|
|
159
168
|
rescue ::RSpec::Expectations::ExpectationNotMetError => err
|
|
160
169
|
__sw_fulfilled! if force
|
|
161
170
|
raise(err)
|
data/lib/site_watcher/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: site_watcher
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Genco
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-07-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: capybara
|
|
@@ -58,28 +58,28 @@ dependencies:
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '2.0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '2.0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rake
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
75
|
+
version: '13.0'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
82
|
+
version: '13.0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: rspec
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,7 +108,7 @@ dependencies:
|
|
|
108
108
|
- - ">="
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: '0'
|
|
111
|
-
description:
|
|
111
|
+
description:
|
|
112
112
|
email:
|
|
113
113
|
- alexgenco@gmail.com
|
|
114
114
|
executables: []
|
|
@@ -123,7 +123,7 @@ homepage: https://github.com/alexgenco/site_watcher
|
|
|
123
123
|
licenses:
|
|
124
124
|
- MIT
|
|
125
125
|
metadata: {}
|
|
126
|
-
post_install_message:
|
|
126
|
+
post_install_message:
|
|
127
127
|
rdoc_options: []
|
|
128
128
|
require_paths:
|
|
129
129
|
- lib
|
|
@@ -138,9 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
139
|
version: '0'
|
|
140
140
|
requirements: []
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
signing_key:
|
|
141
|
+
rubygems_version: 3.2.22
|
|
142
|
+
signing_key:
|
|
144
143
|
specification_version: 4
|
|
145
144
|
summary: Periodically monitor a website
|
|
146
145
|
test_files: []
|