puffing-billy 3.0.1 → 3.0.2
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/CHANGELOG.md +4 -0
- data/lib/billy/version.rb +1 -1
- data/lib/tasks/billy.rake +87 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d2331e867abf32f326b7c70cd9b40604bc865a122b4ae86fa2e80d937f34659
|
4
|
+
data.tar.gz: 7641cae1895a3922ea7c799cfa8274fbcc119571336428649f869614df58d759
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b95020cc16529fc786eb38341c4bc0ab97fa150fd8aa9b1ffae30e6a28905c54f04b80c55eda8c817f057a43937f3e1b089a18d13ef1ceda8a9e2dedbb737c9
|
7
|
+
data.tar.gz: e474b6370e0f648bfda03afdd7fc2b0ad6354517d55fbc283c449e8e46609daf9cc977fa11a4c709dd2993b8abd9ca9f6c79924c30f43de39b41751d8a326b7f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
v3.0.2, 2022-02-16
|
2
|
+
-------------------
|
3
|
+
* Add rake tasks inside files DSL in gemspec [#321](https://github.com/oesmith/puffing-billy/pull/321)
|
4
|
+
|
1
5
|
v3.0.1, 2022-02-15
|
2
6
|
-------------------
|
3
7
|
* Adapt to newer versions selenium webdriver [#314](https://github.com/oesmith/puffing-billy/pull/314)
|
data/lib/billy/version.rb
CHANGED
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'addressable/uri'
|
2
|
+
|
3
|
+
namespace :cache do
|
4
|
+
desc 'Print out all cache file information'
|
5
|
+
task :print_all do
|
6
|
+
cache_array = load_cache
|
7
|
+
|
8
|
+
sort_cache(cache_array).each do |cache|
|
9
|
+
print_cache_details(cache)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
desc 'Print out specific cache file information'
|
14
|
+
task :print_details, :sha do |_t, args|
|
15
|
+
fail "Missing sha; usage: rake cache:print_details['<sha>']" unless args[:sha]
|
16
|
+
cache_array = load_cache(Billy.config.cache_path, '*' + args[:sha] + '*.yml')
|
17
|
+
|
18
|
+
sort_cache(cache_array).each do |cache|
|
19
|
+
print_cache_details(cache)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
desc 'Find specific cache files by URL'
|
24
|
+
task :find_by_url, :api_path do |_t, args|
|
25
|
+
fail "Missing api path; usage: rake cache:find_by_url['<api_path>']" unless args[:api_path]
|
26
|
+
cache_array = load_cache
|
27
|
+
filtered_cache_array = cache_array.select { |f| f[:url_path].include?(args[:api_path]) }
|
28
|
+
|
29
|
+
sort_cache(filtered_cache_array).each do |cache|
|
30
|
+
print_cache_details(cache)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
desc 'Find specific cache files by scope'
|
35
|
+
task :find_by_scope, :scope do |_t, args|
|
36
|
+
fail "Missing scope; usage: rake cache:find_by_scope['<scope>']" unless args[:scope]
|
37
|
+
cache_array = load_cache
|
38
|
+
filtered_cache_array = cache_array.select { |f| f[:scope] && f[:scope].include?(args[:scope]) }
|
39
|
+
|
40
|
+
sort_cache(filtered_cache_array).each do |cache|
|
41
|
+
print_cache_details(cache)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
desc 'Find cache files with non-successful status codes'
|
46
|
+
task :find_non_successful do
|
47
|
+
cache_array = load_cache
|
48
|
+
filtered_cache_array = cache_array.select { |f| !(200..299).include?(f[:status]) }
|
49
|
+
|
50
|
+
sort_cache(filtered_cache_array).each do |cache|
|
51
|
+
print_cache_details(cache)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def load_cache(cache_directory = Billy.config.cache_path, file_pattern = '*.yml')
|
56
|
+
cache_path = Rails.root.join(cache_directory)
|
57
|
+
cache_array = []
|
58
|
+
|
59
|
+
Dir.glob(cache_path + file_pattern) do |filename|
|
60
|
+
data = load_cache_file(filename)
|
61
|
+
url = Addressable::URI.parse(data[:url])
|
62
|
+
data[:url_path] = "#{url.path}#{url.query ? '?' + url.query : ''}#{url.fragment ? '#' + url.fragment : ''}"
|
63
|
+
data[:filename] = filename.gsub(Rails.root.to_s + '/', '')
|
64
|
+
cache_array << data
|
65
|
+
end
|
66
|
+
cache_array
|
67
|
+
end
|
68
|
+
|
69
|
+
def load_cache_file(filename)
|
70
|
+
YAML.load_file(filename)
|
71
|
+
rescue ArgumentError => e
|
72
|
+
puts "Could not parse YAML: #{e.message}"
|
73
|
+
end
|
74
|
+
|
75
|
+
def print_cache_details(cache)
|
76
|
+
puts " Scope: #{cache[:scope]}" if cache[:scope]
|
77
|
+
puts " URL: #{cache[:url]}"
|
78
|
+
puts " Body: #{cache[:body]}" if Billy.config.cache_request_body_methods.include?(cache[:method])
|
79
|
+
puts " Details: Request method '#{cache[:method]}' returned response status code: '#{cache[:status]}'"
|
80
|
+
puts "Filename: #{cache[:filename]}"
|
81
|
+
puts "\n\n"
|
82
|
+
end
|
83
|
+
|
84
|
+
def sort_cache(cache, key = :url_path)
|
85
|
+
cache.sort_by { |hsh| hsh[key] }
|
86
|
+
end
|
87
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puffing-billy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Olly Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -366,6 +366,7 @@ files:
|
|
366
366
|
- lib/billy/watir/rspec.rb
|
367
367
|
- lib/puffing-billy.rb
|
368
368
|
- lib/puffing-billy/rspec.rb
|
369
|
+
- lib/tasks/billy.rake
|
369
370
|
homepage: https://github.com/oesmith/puffing-billy
|
370
371
|
licenses:
|
371
372
|
- MIT
|