parklife 0.6.0 → 0.7.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: 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: []