parklife 0.3.0 → 0.4.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/CHANGELOG.md +5 -0
- data/examples/rack/Parkfile +0 -1
- data/examples/sinatra/Parkfile +0 -1
- data/lib/parklife/application.rb +7 -2
- data/lib/parklife/cli.rb +14 -12
- data/lib/parklife/crawler.rb +3 -3
- data/lib/parklife/errors.rb +12 -5
- data/lib/parklife/rails.rb +0 -4
- data/lib/parklife/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32db274b9f5ec6ce7c56203a391c30c2d541bb8f319bc1b4130b22a2ed85bcf3
|
4
|
+
data.tar.gz: dce6ff9a4911863acb4fdb19c134f822d729a4ced0df62799fc69853154e412f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 434a2acf5bd27046330a6f4c954dcf7908e3672db1e9ce08e985b833f299273306b4535115093f8f18517210605da098e347bcd03a3481106e3c35958da5df5a
|
7
|
+
data.tar.gz: 43249f1f24c7f932da0fd3d949b9d2590274ae7360d86a4f70f268c2a566dde1cf946aa6ba665a89c9bd5bbb5d5b6ee3ef714edbb7f4acbd34000045ac72dff5
|
data/CHANGELOG.md
CHANGED
data/examples/rack/Parkfile
CHANGED
data/examples/sinatra/Parkfile
CHANGED
data/lib/parklife/application.rb
CHANGED
@@ -23,12 +23,17 @@ module Parklife
|
|
23
23
|
crawler.start
|
24
24
|
end
|
25
25
|
|
26
|
+
def configure
|
27
|
+
yield config
|
28
|
+
end
|
29
|
+
|
26
30
|
def crawler
|
27
31
|
@crawler ||= Crawler.new(config, @route_set)
|
28
32
|
end
|
29
33
|
|
30
|
-
def
|
31
|
-
|
34
|
+
def load_Parkfile(path)
|
35
|
+
raise ParkfileLoadError.new(path) unless File.exist?(path)
|
36
|
+
load path
|
32
37
|
end
|
33
38
|
|
34
39
|
def routes(&block)
|
data/lib/parklife/cli.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'parklife'
|
1
2
|
require 'thor'
|
2
3
|
|
3
4
|
module Parklife
|
@@ -20,21 +21,22 @@ module Parklife
|
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
24
|
+
map '--version' => :version
|
25
|
+
desc 'version', 'output the current version of Parklife'
|
26
|
+
def version
|
27
|
+
puts Parklife::VERSION
|
28
|
+
end
|
29
|
+
|
23
30
|
private
|
24
31
|
def application
|
25
|
-
@application ||=
|
26
|
-
#
|
27
|
-
|
28
|
-
# Parklife::Application is defined.
|
29
|
-
load discover_Parkfile(Dir.pwd)
|
30
|
-
|
31
|
-
Parklife.application.config.reporter = $stdout
|
32
|
-
Parklife.application
|
33
|
-
end
|
34
|
-
end
|
32
|
+
@application ||= Parklife.application.tap { |app|
|
33
|
+
# Default output to stdout (can be overridden in the Parkfile).
|
34
|
+
app.config.reporter = $stdout
|
35
35
|
|
36
|
-
|
37
|
-
|
36
|
+
# Reach inside the consuming app's directory to apply its Parklife
|
37
|
+
# config.
|
38
|
+
app.load_Parkfile(File.join(Dir.pwd, 'Parkfile'))
|
39
|
+
}
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
data/lib/parklife/crawler.rb
CHANGED
@@ -48,14 +48,14 @@ module Parklife
|
|
48
48
|
when 404
|
49
49
|
case config.on_404
|
50
50
|
when :warn
|
51
|
-
$stderr.puts HTTPError.new(
|
51
|
+
$stderr.puts HTTPError.new(404, route.path).message
|
52
52
|
when :skip
|
53
53
|
return false
|
54
54
|
else
|
55
|
-
raise HTTPError.new(
|
55
|
+
raise HTTPError.new(404, route.path)
|
56
56
|
end
|
57
57
|
else
|
58
|
-
raise HTTPError.new(
|
58
|
+
raise HTTPError.new(response.status, route.path)
|
59
59
|
end
|
60
60
|
|
61
61
|
Utils.save_page(route.path, response.body, config)
|
data/lib/parklife/errors.rb
CHANGED
@@ -4,17 +4,24 @@ module Parklife
|
|
4
4
|
RackAppNotDefinedError = Class.new(Error)
|
5
5
|
|
6
6
|
class HTTPError < Error
|
7
|
-
def initialize(path
|
8
|
-
@path = path
|
7
|
+
def initialize(status, path)
|
9
8
|
@status = status
|
9
|
+
@path = path
|
10
10
|
end
|
11
11
|
|
12
12
|
def message
|
13
|
-
%Q(#{status} response from path "#{path}")
|
13
|
+
%Q(#{@status} response from path "#{@path}")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class ParkfileLoadError < Error
|
18
|
+
def initialize(path)
|
19
|
+
@path = path
|
14
20
|
end
|
15
21
|
|
16
|
-
|
17
|
-
|
22
|
+
def message
|
23
|
+
%Q(Cannot load Parkfile "#{@path}")
|
24
|
+
end
|
18
25
|
end
|
19
26
|
|
20
27
|
class RailsNotDefinedError < Error
|
data/lib/parklife/rails.rb
CHANGED
@@ -1,9 +1,5 @@
|
|
1
|
-
require 'parklife/errors'
|
2
|
-
|
3
1
|
raise Parklife::RailsNotDefinedError unless defined?(Rails)
|
4
2
|
|
5
|
-
require 'parklife'
|
6
|
-
|
7
3
|
# Allow use of the consuming Rails application's route helpers from within the
|
8
4
|
# block when defining Parklife routes.
|
9
5
|
Parklife::RouteSet.include(Rails.application.routes.url_helpers)
|
data/lib/parklife/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parklife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Pickles
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|