parklife 0.6.0 → 0.7.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: 6a1770a5f09524a3c16e3becb527d6d6fc0fdb723095b3365ee583a0a91722a4
4
- data.tar.gz: 0be599051686b0dab89aba57dfe72813de074c694c31de876f66b9c8aeb61223
3
+ metadata.gz: 716fff5f3d7ad38f43c2fd071de3a69dc58363b05fb7fd3d997311855a207f04
4
+ data.tar.gz: b153dc13fb74648185401f3a512c34eee2f0ad62659723937c0354d9c7547ecd
5
5
  SHA512:
6
- metadata.gz: 4c473fd98d0162b43ff8b09399e05f827fd478b30bf33d563a21f463dcc873366c56e72ae91c3c236da5823f44154dc6f59e2ddb49f4526b1691e636fda7bcf9
7
- data.tar.gz: 466f130fb18b8fea3deb6ff126c767009b2e9341d04deb5c0f8ee8c4705e3987d734094976a33886dd0f152cfd4ba2c1ac4c4941859ef11e703a63195b5e8bc4
6
+ metadata.gz: 7a1a022c68a6a7c77277440c926cd430ebf857a7757f42eab76b8233af84bdc4dd9407952a9465720a6a74e43d7706b8acb41a25705ebb3d0e34c9a75a11b441
7
+ data.tar.gz: 80af344c3209f6a57f147714c789d6c3d21a42cd3131186e9dbebb0e267d19258cdb297f13f273baefdb4bbd4bcba955c2c1e726ee9e218d8febaf50ec4c26c8
@@ -0,0 +1,64 @@
1
+ name: Examples
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ rack:
7
+ runs-on: ubuntu-latest
8
+ name: Rack example
9
+ steps:
10
+ - uses: actions/checkout@v3
11
+ - uses: ruby/setup-ruby@v1
12
+ with:
13
+ bundler-cache: true
14
+ ruby-version: '2.7'
15
+ working-directory: examples/rack
16
+ - run: bundle exec parklife build
17
+ working-directory: examples/rack
18
+ - run: test -f build/index.html
19
+ working-directory: examples/rack
20
+
21
+ rails:
22
+ runs-on: ubuntu-latest
23
+ name: Rails example
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+ - uses: ruby/setup-ruby@v1
27
+ with:
28
+ bundler-cache: true
29
+ ruby-version: '3.2'
30
+ working-directory: examples/rails
31
+ - run: bin/static-build
32
+ working-directory: examples/rails
33
+ - run: test -f build/index.html
34
+ working-directory: examples/rails
35
+
36
+ roda:
37
+ runs-on: ubuntu-latest
38
+ name: Roda example
39
+ steps:
40
+ - uses: actions/checkout@v3
41
+ - uses: ruby/setup-ruby@v1
42
+ with:
43
+ bundler-cache: true
44
+ ruby-version: '3.2'
45
+ working-directory: examples/roda
46
+ - run: bundle exec parklife build
47
+ working-directory: examples/roda
48
+ - run: test -f build/index.html
49
+ working-directory: examples/roda
50
+
51
+ sinatra:
52
+ runs-on: ubuntu-latest
53
+ name: Sinatra example
54
+ steps:
55
+ - uses: actions/checkout@v3
56
+ - uses: ruby/setup-ruby@v1
57
+ with:
58
+ bundler-cache: true
59
+ ruby-version: '3.4'
60
+ working-directory: examples/sinatra
61
+ - run: bin/static-build
62
+ working-directory: examples/sinatra
63
+ - run: test -f build/index.html
64
+ working-directory: examples/sinatra
@@ -3,76 +3,107 @@ name: Tests
3
3
  on: push
4
4
 
5
5
  jobs:
6
- example_rack:
6
+ rails:
7
7
  runs-on: ubuntu-latest
8
- name: Rack example
9
- steps:
10
- - uses: actions/checkout@v3
11
- - uses: ruby/setup-ruby@v1
12
- with:
13
- bundler-cache: true
14
- ruby-version: '2.7'
15
- working-directory: examples/rack
16
- - run: bundle exec parklife build
17
- working-directory: examples/rack
18
- - run: test -f build/index.html
19
- working-directory: examples/rack
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ rails:
12
+ - '7.0'
13
+ - '7.1'
14
+ - '7.2'
15
+ - '8.0'
16
+ ruby:
17
+ - '2.7'
18
+ - '3.0'
19
+ - '3.1'
20
+ - '3.2'
21
+ - '3.3'
22
+ - '3.4'
23
+ exclude:
24
+ # Rails 8.0 requires Ruby 3.2.
25
+ - rails: '8.0'
26
+ ruby: '3.1'
27
+ - rails: '8.0'
28
+ ruby: '3.0'
29
+ - rails: '8.0'
30
+ ruby: '2.7'
20
31
 
21
- example_rails:
22
- runs-on: ubuntu-latest
23
- name: Rails example
24
- steps:
25
- - uses: actions/checkout@v3
26
- - uses: ruby/setup-ruby@v1
27
- with:
28
- bundler-cache: true
29
- ruby-version: '3.2'
30
- working-directory: examples/rails
31
- - run: bin/static-build
32
- working-directory: examples/rails
33
- - run: test -f build/index.html
34
- working-directory: examples/rails
32
+ # Rails 7.2 requires Ruby 3.1.
33
+ - rails: '7.2'
34
+ ruby: '3.0'
35
+ - rails: '7.2'
36
+ ruby: '2.7'
35
37
 
36
- example_sinatra:
37
- runs-on: ubuntu-latest
38
- name: Sinatra example
38
+ # Rails 7.0 doesn't work out of the box with Ruby 3.4.
39
+ - rails: '7.0'
40
+ ruby: '3.4'
41
+ env:
42
+ BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile
43
+ name: Rails (Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }})
39
44
  steps:
40
- - uses: actions/checkout@v3
45
+ - uses: actions/checkout@v4
41
46
  - uses: ruby/setup-ruby@v1
42
47
  with:
43
48
  bundler-cache: true
44
- ruby-version: '2.7'
45
- working-directory: examples/sinatra
46
- - run: bundle exec parklife build
47
- working-directory: examples/sinatra
48
- - run: test -f build/index.html
49
- working-directory: examples/sinatra
49
+ ruby-version: ${{ matrix.ruby }}
50
+ - run: bundle exec rspec --pattern "spec/**/*rails*"
50
51
 
51
52
  rspec:
52
53
  runs-on: ubuntu-latest
53
54
  strategy:
55
+ fail-fast: false
54
56
  matrix:
55
57
  ruby:
56
58
  - '2.7'
57
59
  - '3.0'
58
60
  - '3.1'
59
61
  - '3.2'
60
- name: Ruby ${{ matrix.ruby }} RSpec
62
+ - '3.3'
63
+ - '3.4'
64
+ name: RSpec (Ruby ${{ matrix.ruby }})
61
65
  steps:
62
- - uses: actions/checkout@v3
66
+ - uses: actions/checkout@v4
63
67
  - uses: ruby/setup-ruby@v1
64
68
  with:
65
69
  bundler-cache: true
66
70
  ruby-version: ${{ matrix.ruby }}
67
- - run: bundle exec rspec
71
+ - run: bundle exec rspec --exclude-pattern "spec/**/*rails*,spec/**/*sinatra*"
68
72
 
69
73
  rubocop:
70
74
  runs-on: ubuntu-latest
71
75
  name: RuboCop
72
76
  steps:
73
- - uses: actions/checkout@v3
77
+ - uses: actions/checkout@v4
74
78
  - uses: ruby/setup-ruby@v1
75
79
  with:
76
80
  bundler-cache: true
77
81
  ruby-version: '3.2'
78
82
  - run: bundle exec rubocop
83
+
84
+ sinatra:
85
+ runs-on: ubuntu-latest
86
+ strategy:
87
+ fail-fast: false
88
+ matrix:
89
+ ruby:
90
+ - '2.7'
91
+ - '3.0'
92
+ - '3.1'
93
+ - '3.2'
94
+ - '3.3'
95
+ - '3.4'
96
+ sinatra:
97
+ - '3.x'
98
+ - '4.0'
99
+ - '4.1'
100
+ env:
101
+ BUNDLE_GEMFILE: gemfiles/sinatra_${{ matrix.sinatra }}.gemfile
102
+ name: Rails (Ruby ${{ matrix.ruby }} / Sinatra ${{ matrix.sinatra }})
103
+ steps:
104
+ - uses: actions/checkout@v4
105
+ - uses: ruby/setup-ruby@v1
106
+ with:
107
+ bundler-cache: true
108
+ ruby-version: ${{ matrix.ruby }}
109
+ - run: bundle exec rspec --pattern "spec/**/*sinatra*"
data/.gitignore CHANGED
@@ -4,6 +4,7 @@
4
4
  /_yardoc/
5
5
  /coverage/
6
6
  /doc/
7
+ /gemfiles/*.gemfile.lock
7
8
  /pkg/
8
9
  /spec/examples.txt
9
10
  /spec/reports/
data/.rubocop.yml CHANGED
@@ -2,6 +2,7 @@ AllCops:
2
2
  NewCops: enable
3
3
  Exclude:
4
4
  - examples/**/*
5
+ - gemfiles/*
5
6
  - vendor/**/*
6
7
  SuggestExtensions: false
7
8
  TargetRubyVersion: 2.5
data/Appraisals ADDED
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'rails_7.0' do
4
+ gem 'concurrent-ruby', '< 1.3.5'
5
+ gem 'rails', '~> 7.0.0'
6
+ end
7
+
8
+ appraise 'rails_7.1' do
9
+ gem 'rails', '~> 7.1.0'
10
+ end
11
+
12
+ appraise 'rails_7.2' do
13
+ gem 'rails', '~> 7.2.0'
14
+ end
15
+
16
+ appraise 'rails_8.0' do
17
+ gem 'rails', '~> 8.0.0'
18
+ end
19
+
20
+ appraise 'sinatra_3.x' do
21
+ gem 'sinatra', '~> 3.0'
22
+ end
23
+
24
+ appraise 'sinatra_4.0' do
25
+ gem 'sinatra', '~> 4.0.0'
26
+ end
27
+
28
+ appraise 'sinatra_4.1' do
29
+ gem 'sinatra', '~> 4.1.0'
30
+ end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## Version 0.7.0 - 2025-02-03
2
+
3
+ - Add support for Rails 8 and add test infrastructure to ensure future compatibility with Rails 7.0, 7.1, and 8.0. <https://github.com/benpickles/parklife/pull/115>, <https://github.com/benpickles/parklife/pull/117>, <https://github.com/benpickles/parklife/pull/121>
4
+ - Improve out-of-the-box compatibility with Rails by reading `default_url_options`, `relative_url_root`, and `force_ssl` settings on boot and applying them to Parklife's `config.base` (`force_ssl` has been set to `true` in `production.rb` since Rails 7.1). <https://github.com/benpickles/parklife/pull/118>
5
+ - Improve out-of-the-box compatibility with Sinatra 4.1 which has host authorisation middleware enabled by default in development mode and would otherwise respond to Parklife requests with a 403 status. Additionally the generated Sinatra production build script now sets the environment variable `APP_ENV=production` to enable production mode. <https://github.com/benpickles/parklife/pull/123>, <https://github.com/benpickles/parklife/pull/122>
6
+ - When discovering HTML links ignore `<a>` elements without an `href`. <https://github.com/benpickles/parklife/pull/107>
7
+
8
+ ## Version 0.6.1 - 2024-08-23
9
+
10
+ - Don't error when the public directory doesn't exist <https://github.com/benpickles/parklife/pull/105>
11
+
1
12
  ## Version 0.6.0 - 2023-03-26
2
13
 
3
14
  - Allow assigning a URI object to config.base <https://github.com/benpickles/parklife/pull/98>
data/Gemfile CHANGED
@@ -7,8 +7,8 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
7
7
  # Specify your gem's dependencies in parklife.gemspec
8
8
  gemspec
9
9
 
10
+ gem 'appraisal'
10
11
  gem 'bundler'
11
- gem 'rails'
12
12
  gem 'rake'
13
13
  gem 'rspec'
14
14
  gem 'rubocop'
@@ -0,0 +1,13 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "concurrent-ruby", "< 1.3.5"
11
+ gem "rails", "~> 7.0.0"
12
+
13
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "rails", "~> 7.1.0"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "rails", "~> 7.2.0"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "rails", "~> 8.0.0"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "sinatra", "~> 3.0"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "sinatra", "~> 4.0.0"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "bundler"
7
+ gem "rake"
8
+ gem "rspec"
9
+ gem "rubocop"
10
+ gem "sinatra", "~> 4.1.0"
11
+
12
+ gemspec path: "../"
data/lib/parklife/cli.rb CHANGED
@@ -26,6 +26,7 @@ module Parklife
26
26
  ['nested_index', application.config.nested_index],
27
27
  ['on_404', application.config.on_404.inspect],
28
28
  ['parklife/rails', defined?(::Parklife::Railtie) ? 'enabled' : '-'],
29
+ ['parklife/sinatra', defined?(::Parklife::Sinatra) ? 'enabled' : '-'],
29
30
  ['reporter', reporter == $stdout ? '$stdout' : reporter],
30
31
  ])
31
32
  end
@@ -8,7 +8,7 @@ module Parklife
8
8
  # default_url_options and relative_url_root to match.
9
9
  def base=(value)
10
10
  super.tap { |uri|
11
- Rails.application.default_url_options = {
11
+ app.default_url_options = {
12
12
  host: Utils.host_with_port(uri),
13
13
  protocol: uri.scheme,
14
14
  }
@@ -19,6 +19,12 @@ module Parklife
19
19
  end
20
20
  end
21
21
 
22
+ module RailsRouteSetRefinements
23
+ def default_url_options
24
+ Rails.application.default_url_options
25
+ end
26
+ end
27
+
22
28
  class Railtie < Rails::Railtie
23
29
  initializer 'parklife.disable_host_authorization' do |app|
24
30
  # The offending middleware is included in Rails (6+) development mode and
@@ -37,16 +43,27 @@ module Parklife
37
43
  if defined?(ActionDispatch::HostAuthorization)
38
44
  app.middleware.delete(ActionDispatch::HostAuthorization)
39
45
  end
40
- end
41
46
 
42
- config.after_initialize do
43
- Parklife.application.config.app = Rails.application
47
+ Parklife.application.config.app = app
44
48
 
45
49
  # Allow use of the Rails application's route helpers when defining
46
50
  # Parklife routes in the block form.
47
- Parklife.application.routes.singleton_class.include(Rails.application.routes.url_helpers)
51
+ Parklife.application.routes.singleton_class.include(RailsRouteSetRefinements)
52
+ Parklife.application.routes.singleton_class.include(app.routes.url_helpers)
48
53
 
49
54
  Parklife.application.config.extend(RailsConfigRefinements)
50
55
  end
56
+
57
+ config.after_initialize do |app|
58
+ # Read the Rails app's URL config and apply it to Parklife's so that the
59
+ # Rails config can be used as the single source of truth.
60
+ host, protocol = app.default_url_options.values_at(:host, :protocol)
61
+ protocol = 'https' if app.config.force_ssl
62
+ path = ActionController::Base.relative_url_root
63
+
64
+ Parklife.application.config.base.scheme = protocol if protocol
65
+ Parklife.application.config.base.host = host if host
66
+ Parklife.application.config.base.path = path if path
67
+ end
51
68
  end
52
69
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'sinatra/base'
4
+
5
+ module Parklife
6
+ module Sinatra
7
+ def self.registered(app)
8
+ # Disable Rack::Protection::HostAuthorization middleware so that fetching
9
+ # a page with Parklife works in development. It's safe to do here because
10
+ # it will only be executed when this file is explicitly required in a
11
+ # Parkfile and not in general when the app is running in a web server.
12
+ if app.settings.respond_to?(:host_authorization)
13
+ app.set(:host_authorization, permitted_hosts: [])
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ Sinatra.register Parklife::Sinatra
@@ -2,7 +2,11 @@
2
2
  require 'parklife/rails'
3
3
  require_relative 'config/environment'
4
4
  <% else -%>
5
- # Assuming your Rack app lives in ./app.rb:
5
+ <% if options[:sinatra] -%>
6
+ require 'parklife/sinatra'
7
+
8
+ <% end -%>
9
+ # Assuming your <%= options[:sinatra] ? 'Sinatra' : 'Rack' %> app lives in ./app.rb:
6
10
  require_relative 'app'
7
11
  <% end -%>
8
12
 
@@ -11,8 +15,9 @@ Parklife.application.configure do |config|
11
15
  # For a Sinatra "classic" app:
12
16
  config.app = Sinatra::Application
13
17
  #
14
- # Or for Sinatra modular style:
18
+ # For a modular-style Sinatra app the Parklife extension must be explicitly registered:
15
19
  # config.app = App
20
+ # App.register Parklife::Sinatra
16
21
 
17
22
  <% elsif !options[:rails] -%>
18
23
  config.app = App
@@ -15,11 +15,11 @@ jobs:
15
15
  build:
16
16
  runs-on: ubuntu-latest
17
17
  steps:
18
- - uses: actions/checkout@v3
18
+ - uses: actions/checkout@v4
19
19
  - uses: ruby/setup-ruby@v1
20
20
  with:
21
21
  bundler-cache: true
22
- - uses: actions/configure-pages@v3
22
+ - uses: actions/configure-pages@v5
23
23
  id: pages
24
24
 
25
25
  # Build with Parklife and use its GitHub Pages URL (either its custom
@@ -27,7 +27,7 @@ jobs:
27
27
  - run: bin/static-build --base "${{ steps.pages.outputs.base_url }}"
28
28
 
29
29
  - name: Upload artifact
30
- uses: actions/upload-pages-artifact@v1
30
+ uses: actions/upload-pages-artifact@v3
31
31
  if: github.ref == 'refs/heads/main' # Only upload on main branch.
32
32
  with:
33
33
  path: build/
@@ -45,4 +45,4 @@ jobs:
45
45
  steps:
46
46
  - name: Deploy to GitHub Pages
47
47
  id: deployment
48
- uses: actions/deploy-pages@v1
48
+ uses: actions/deploy-pages@v4
@@ -3,8 +3,7 @@
3
3
  set -eu
4
4
 
5
5
  <% if options[:rails] -%>
6
- # You probably need to run the app in production mode to ensure the correct
7
- # asset URLs are referenced.
6
+ # Run the app in production mode to ensure correct asset URLs are generated etc.
8
7
  export RAILS_ENV=production
9
8
  export SECRET_KEY_BASE=dummy
10
9
 
@@ -17,12 +16,18 @@ export SECRET_KEY_BASE=dummy
17
16
  # missing assets in production.
18
17
  bundle exec rails assets:precompile
19
18
 
19
+ <% elsif options[:sinatra] -%>
20
+ # Run the app in production mode.
21
+ export APP_ENV=production
22
+
20
23
  <% end -%>
21
24
  # Build with Parklife - and forward arguments sent to this script.
22
25
  bundle exec parklife build "$@"
23
26
 
24
27
  # Copy all public resources to ./build.
25
- cp -R public/* build
28
+ if [ -d public ]; then
29
+ cp -R public/* build
30
+ fi
26
31
 
27
32
  # List all files in the build (useful for debugging).
28
33
  find build -type f | sort
@@ -39,7 +39,7 @@ module Parklife
39
39
 
40
40
  def scan_for_links(html)
41
41
  doc = Nokogiri::HTML.parse(html)
42
- doc.css('a').each do |a|
42
+ doc.css('a[href]').each do |a|
43
43
  uri = URI.parse(a[:href])
44
44
 
45
45
  # Don't visit a URL that belongs to a different domain - for now this is
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parklife
4
- VERSION = '0.6.0'
4
+ VERSION = '0.7.0'
5
5
  end
data/parklife.gemspec CHANGED
@@ -11,19 +11,15 @@ Gem::Specification.new do |spec|
11
11
  spec.email = ['spideryoung@gmail.com']
12
12
 
13
13
  spec.summary = 'Convert a Rack app into a static HTML site.'
14
- spec.homepage = 'https://github.com/benpickles/parklife'
14
+ spec.homepage = 'https://parklife.dev'
15
15
  spec.license = 'MIT'
16
-
17
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
- # to allow pushing to a single host or delete this section to allow pushing to any host.
19
- spec.metadata = {
20
- 'changelog_uri' => 'https://github.com/benpickles/parklife/blob/main/CHANGELOG.md',
21
- 'rubygems_mfa_required' => 'true',
22
- 'source_code_uri' => 'https://github.com/benpickles/parklife',
23
- }
24
-
25
16
  spec.required_ruby_version = '>= 2.5.0'
26
17
 
18
+ spec.metadata['changelog_uri'] = 'https://github.com/benpickles/parklife/blob/main/CHANGELOG.md'
19
+ spec.metadata['homepage_uri'] = spec.homepage
20
+ spec.metadata['rubygems_mfa_required'] = 'true'
21
+ spec.metadata['source_code_uri'] = 'https://github.com/benpickles/parklife'
22
+
27
23
  # Specify which files should be added to the gem when it is released.
28
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
29
25
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parklife
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Pickles
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2023-03-26 00:00:00.000000000 Z
10
+ date: 2025-02-03 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: nokogiri
@@ -52,7 +51,6 @@ dependencies:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
- description:
56
54
  email:
57
55
  - spideryoung@gmail.com
58
56
  executables:
@@ -60,10 +58,12 @@ executables:
60
58
  extensions: []
61
59
  extra_rdoc_files: []
62
60
  files:
61
+ - ".github/workflows/examples.yml"
63
62
  - ".github/workflows/tests.yml"
64
63
  - ".gitignore"
65
64
  - ".rspec"
66
65
  - ".rubocop.yml"
66
+ - Appraisals
67
67
  - CHANGELOG.md
68
68
  - CODE_OF_CONDUCT.md
69
69
  - Gemfile
@@ -73,6 +73,13 @@ files:
73
73
  - bin/console
74
74
  - bin/setup
75
75
  - exe/parklife
76
+ - gemfiles/rails_7.0.gemfile
77
+ - gemfiles/rails_7.1.gemfile
78
+ - gemfiles/rails_7.2.gemfile
79
+ - gemfiles/rails_8.0.gemfile
80
+ - gemfiles/sinatra_3.x.gemfile
81
+ - gemfiles/sinatra_4.0.gemfile
82
+ - gemfiles/sinatra_4.1.gemfile
76
83
  - lib/parklife.rb
77
84
  - lib/parklife/application.rb
78
85
  - lib/parklife/browser.rb
@@ -83,20 +90,21 @@ files:
83
90
  - lib/parklife/rails.rb
84
91
  - lib/parklife/route.rb
85
92
  - lib/parklife/route_set.rb
93
+ - lib/parklife/sinatra.rb
86
94
  - lib/parklife/templates/Parkfile.erb
87
95
  - lib/parklife/templates/github_pages.yml
88
96
  - lib/parklife/templates/static_build.erb
89
97
  - lib/parklife/utils.rb
90
98
  - lib/parklife/version.rb
91
99
  - parklife.gemspec
92
- homepage: https://github.com/benpickles/parklife
100
+ homepage: https://parklife.dev
93
101
  licenses:
94
102
  - MIT
95
103
  metadata:
96
104
  changelog_uri: https://github.com/benpickles/parklife/blob/main/CHANGELOG.md
105
+ homepage_uri: https://parklife.dev
97
106
  rubygems_mfa_required: 'true'
98
107
  source_code_uri: https://github.com/benpickles/parklife
99
- post_install_message:
100
108
  rdoc_options: []
101
109
  require_paths:
102
110
  - lib
@@ -111,8 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
119
  - !ruby/object:Gem::Version
112
120
  version: '0'
113
121
  requirements: []
114
- rubygems_version: 3.4.6
115
- signing_key:
122
+ rubygems_version: 3.6.2
116
123
  specification_version: 4
117
124
  summary: Convert a Rack app into a static HTML site.
118
125
  test_files: []