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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfa1a2dfba58f7bc84fbcba7db6a696b160688f7f1fe975f69186b7dd026a1c2
4
- data.tar.gz: 3480fda5101368505953fba89458fb56d04cb3c78ebabd43ce5387ed89fd02cc
3
+ metadata.gz: c4e2f96ed610dcd80aad605e87d12a091279ba95a3acf1c02fab68996758ceee
4
+ data.tar.gz: f515eec47e817828a5f434a2c53c1b3b157f159bf0b37d72785f62c3b785bda3
5
5
  SHA512:
6
- metadata.gz: 03aada920765c224b9776d357f8edebcd00e0a299af52cd91eb7ab4802a3918ac58f26ceee361f006d5af51d40f9580ee3d501ca9a9a50a0882460a774b5b657
7
- data.tar.gz: b2930dc82e888aba5764ab8bbf4cb29c82ce7ab7eaf044904e8c4d5ee8528ef06c04af58a86f9ee6550af42a8a622cacfb4ece5705234ffb2ce6395043452012
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
- response = ::HTTP
147
- .headers(@__sw_headers)
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
- page = ::Capybara::Node::Simple.new(response.to_s)
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(page) }
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)
@@ -1,3 +1,3 @@
1
1
  class SiteWatcher
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
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.1.0
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: 2018-09-17 00:00:00.000000000 Z
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: '1.7'
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: '1.7'
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: '10.0'
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: '10.0'
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
- rubyforge_project:
142
- rubygems_version: 2.7.6
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: []