site_watcher 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: []