This commit is contained in:
Aleks Rutins 2024-12-07 17:47:01 -05:00
parent 77d3de5a03
commit 1602d87b8a
5 changed files with 14 additions and 12 deletions

View file

@ -13,4 +13,4 @@ gem "standard", "~> 1.3"
gem "phlex", "~> 1.11" gem "phlex", "~> 1.11"
gem "steep", "~> 1.7", :group => :development gem "steep", "~> 1.7", group: :development

View file

@ -26,6 +26,7 @@ GEM
drb (2.2.1) drb (2.2.1)
ffi (1.17.0) ffi (1.17.0)
ffi (1.17.0-arm64-darwin) ffi (1.17.0-arm64-darwin)
ffi (1.17.0-x64-mingw-ucrt)
fileutils (1.7.2) fileutils (1.7.2)
i18n (1.14.5) i18n (1.14.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
@ -107,6 +108,7 @@ GEM
PLATFORMS PLATFORMS
arm64-darwin-23 arm64-darwin-23
ruby ruby
x64-mingw-ucrt
DEPENDENCIES DEPENDENCIES
minitest (~> 5.16) minitest (~> 5.16)

View file

@ -1,4 +1,4 @@
require 'fileutils' require "fileutils"
class Phlexite::Router class Phlexite::Router
def initialize(base, site) def initialize(base, site)
@ -7,25 +7,25 @@ class Phlexite::Router
end end
def group(new_base) def group(new_base)
router = Phlexite::Router.new(File::join(@base, new_base), @site) router = Phlexite::Router.new(File.join(@base, new_base), @site)
yield router yield router
end end
def page(out_path, component) def page(out_path, component)
out = full_out_path(out_path) out = full_out_path(out_path)
FileUtils::mkdir_p File::dirname(out) FileUtils.mkdir_p File.dirname(out)
File::write(out, component.call) File.write(out, component.call)
end end
def mount(local_directory, on:) def mount(local_directory, on:)
out = full_out_path(on) out = full_out_path(on)
FileUtils::mkdir_p out FileUtils.mkdir_p out
FileUtils::cp_r File::join(local_directory, "."), out FileUtils.cp_r File.join(local_directory, "."), out
end end
private private
def full_out_path(out_path) def full_out_path(out_path)
File::join(@site.build_dir, @site.base_url, @base, out_path) File.join(@site.build_dir, @site.base_url, @base, out_path)
end end
end end

View file

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
require_relative 'router.rb' require_relative "router"
class Phlexite::Site < Phlexite::Router class Phlexite::Site < Phlexite::Router
attr_accessor :build_dir, :base_url attr_accessor :build_dir, :base_url

View file

@ -12,10 +12,10 @@ class TestPhlexite < Minitest::Test
end end
def test_that_site_is_defined def test_that_site_is_defined
assert ::Phlexite::Site != nil assert !::Phlexite::Site.nil?
end end
def test_that_router_is_defined def test_that_router_is_defined
assert ::Phlexite::Router != nil assert !::Phlexite::Router.nil?
end end
end end