utopia 2.22.0 → 2.22.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
- checksums.yaml.gz.sig +0 -0
- data/bake/utopia/environment.rb +11 -9
- data/bake/utopia/site.rb +47 -43
- data/lib/utopia/version.rb +1 -1
- data/setup/site/Guardfile +0 -19
- data/setup/site/config.ru +3 -3
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bad66abbb1a3bfd34ad266594c8f79b713f6289e1e2e572280459bdf3fe3ac9b
|
4
|
+
data.tar.gz: 04b1e9a3831cbbfe5551838725fd58ae71e5b218eeaa6ff708450e3a82c5007a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acee0556abc970a44077e739b344cd25f962b559d7238ae11535154e500bb3a529220970a031f437a5d37debc44edd1a279131680ae6cab012d1a404680d4628
|
7
|
+
data.tar.gz: d6056af6f2a3b59b5539444d3e7be38f82528dee5ec33e71d1dd8076eeb750f7e7fb388b8d574462b86d216f87653bd0b4663ee5dbf5a0d2e882f14ae5d459b8
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/bake/utopia/environment.rb
CHANGED
@@ -15,8 +15,8 @@ end
|
|
15
15
|
# Setup default environemnts "testing" and "development".
|
16
16
|
# @parameter root [String] The root directory of the project.
|
17
17
|
def setup(root: context.root)
|
18
|
-
defaults(
|
19
|
-
defaults(
|
18
|
+
defaults("testing", root: root)
|
19
|
+
defaults("development", root: root)
|
20
20
|
end
|
21
21
|
|
22
22
|
# Setup the defaults for a specific environment.
|
@@ -24,6 +24,7 @@ end
|
|
24
24
|
# @parameter root [String] The root directory of the project.
|
25
25
|
def defaults(name, root: context.root)
|
26
26
|
update_environment(root, name) do |store|
|
27
|
+
Console.logger.info(self) {"Setting up defaults for environment #{name}..."}
|
27
28
|
# Set some useful defaults for the environment.
|
28
29
|
store['UTOPIA_SESSION_SECRET'] ||= SecureRandom.hex(40)
|
29
30
|
end
|
@@ -33,22 +34,23 @@ end
|
|
33
34
|
# @parameter name [String] The name of the environment to update.
|
34
35
|
# @parameter variables [Hash(String, String)] A list of environment KEY=VALUE pairs to set.
|
35
36
|
def update(name, root: context.root, **variables)
|
36
|
-
update_environment(root, name) do |store|
|
37
|
-
variables&.each do |
|
38
|
-
key
|
37
|
+
update_environment(root, name) do |store, _, path|
|
38
|
+
variables&.each do |key, value|
|
39
|
+
# Ensure the key is a string...
|
40
|
+
key = key.to_s
|
39
41
|
|
40
|
-
if value
|
41
|
-
|
42
|
+
if value && !value.empty?
|
43
|
+
Console.logger.info(self) {"ENV[#{key.inspect}] will default to #{value.inspect} unless otherwise specified."}
|
42
44
|
store[key] = value
|
43
45
|
else
|
44
|
-
|
46
|
+
Console.logger.info(self) {"ENV[#{key.inspect}] will be unset unless otherwise specified."}
|
45
47
|
store.delete(key)
|
46
48
|
end
|
47
49
|
end
|
48
50
|
|
49
51
|
yield store if block_given?
|
50
52
|
|
51
|
-
Console.logger.
|
53
|
+
Console.logger.info(self) do |buffer|
|
52
54
|
buffer.puts "Environment #{name} (#{path}):"
|
53
55
|
store.roots.each do |key|
|
54
56
|
value = store[key]
|
data/bake/utopia/site.rb
CHANGED
@@ -9,6 +9,8 @@ def initialize(...)
|
|
9
9
|
|
10
10
|
require 'fileutils'
|
11
11
|
require 'find'
|
12
|
+
|
13
|
+
require_relative '../../lib/utopia/version'
|
12
14
|
end
|
13
15
|
|
14
16
|
# The path to the setup directory in the gem:
|
@@ -18,7 +20,7 @@ SETUP_ROOT = File.expand_path("../../setup", __dir__)
|
|
18
20
|
CONFIGURATION_FILES = ['.gitignore', 'config.ru', 'config/environment.rb', 'falcon.rb', 'gems.rb', 'Guardfile', 'bake.rb', 'test/website.rb', 'fixtures/website.rb']
|
19
21
|
|
20
22
|
# Directories that should exist:
|
21
|
-
DIRECTORIES = ["config", "lib", "pages", "public", "bake", "test"]
|
23
|
+
DIRECTORIES = ["config", "lib", "pages", "public", "bake", "fixtures", "test"]
|
22
24
|
|
23
25
|
# Directories that should be removed during upgrade process:
|
24
26
|
OLD_PATHS = ["access_log", "cache", "tmp", "Rakefile", "tasks", ".bowerrc"]
|
@@ -62,6 +64,8 @@ def create(root: context.root)
|
|
62
64
|
|
63
65
|
system("bundle", "install", chdir: root) or warn "could not install bundled gems"
|
64
66
|
|
67
|
+
context.lookup('utopia:environment:setup').call(root: root)
|
68
|
+
|
65
69
|
if !File.exist?('.git')
|
66
70
|
Console.logger.info(self) {"Setting up git repository..."}
|
67
71
|
|
@@ -70,8 +74,6 @@ def create(root: context.root)
|
|
70
74
|
system("git", "commit", "-q", "-m", "Initial Utopia v#{Utopia::VERSION} site.", chdir: root) or warn "could not commit files"
|
71
75
|
end
|
72
76
|
|
73
|
-
context.lookup('utopia:environment:defaults').call(root)
|
74
|
-
|
75
77
|
name = `git config user.name || whoami`.chomp
|
76
78
|
|
77
79
|
puts
|
@@ -90,36 +92,37 @@ end
|
|
90
92
|
|
91
93
|
# Upgrade an existing site to use the latest configuration files from the template.
|
92
94
|
def upgrade(root: context.root)
|
93
|
-
|
94
|
-
|
95
|
-
$stderr.puts "Upgrading #{destination_root}..."
|
96
|
-
|
97
|
-
system('git', 'checkout', '-b', branch_name, chdir: root) or fail "could not change branch"
|
98
|
-
|
99
|
-
DIRECTORIES.each do |directory|
|
100
|
-
FileUtils.mkdir_p(File.join(root, directory))
|
101
|
-
end
|
95
|
+
message = "Upgrade to utopia v#{Utopia::VERSION}."
|
102
96
|
|
103
|
-
|
104
|
-
path = File.join(root, path)
|
105
|
-
Console.logger.info(self) {"Removing #{path}..."}
|
106
|
-
FileUtils.rm_rf(path)
|
107
|
-
end
|
97
|
+
Console.logger.info(self) {"Upgrading #{root}..."}
|
108
98
|
|
109
|
-
|
110
|
-
|
111
|
-
|
99
|
+
commit_changes(root, message) do
|
100
|
+
DIRECTORIES.each do |directory|
|
101
|
+
FileUtils.mkdir_p(File.join(root, directory))
|
102
|
+
end
|
112
103
|
|
113
|
-
|
104
|
+
OLD_PATHS.each do |path|
|
105
|
+
path = File.join(root, path)
|
106
|
+
|
107
|
+
if File.exist?(path)
|
108
|
+
Console.logger.info(self) {"Removing #{path}..."}
|
109
|
+
FileUtils.rm_rf(path)
|
110
|
+
end
|
111
|
+
end
|
114
112
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
113
|
+
CONFIGURATION_FILES.each do |configuration_file|
|
114
|
+
source_path = File.join(SITE_ROOT, configuration_file)
|
115
|
+
destination_path = File.join(root, configuration_file)
|
116
|
+
|
117
|
+
Console.logger.info(self) {"Updating #{destination_path}..."}
|
118
|
+
|
119
|
+
FileUtils.copy_entry(source_path, destination_path)
|
120
|
+
buffer = File.read(destination_path).gsub('$UTOPIA_VERSION', Utopia::VERSION)
|
121
|
+
File.open(destination_path, "w") { |file| file.write(buffer) }
|
122
|
+
end
|
123
|
+
|
124
|
+
context.lookup('utopia:environment:setup').call(root: root)
|
121
125
|
|
122
|
-
begin
|
123
126
|
# Stage any files that have been changed or removed:
|
124
127
|
system("git", "add", "-u", chdir: root) or fail "could not add files"
|
125
128
|
|
@@ -128,26 +131,27 @@ def upgrade(root: context.root)
|
|
128
131
|
|
129
132
|
move_static!(root)
|
130
133
|
update_gemfile!(root)
|
131
|
-
|
132
|
-
# Commit all changes:
|
133
|
-
system("git", "commit", "-m", "Upgrade to utopia #{Utopia::VERSION}.", chdir: root) or fail "could not commit changes"
|
134
|
-
|
135
|
-
# Checkout main..
|
136
|
-
system("git", "checkout", "main", chdir: root) or fail "could not checkout main"
|
137
|
-
|
138
|
-
# and merge:
|
139
|
-
system("git", "merge", "--squash", "--no-commit", branch_name, chdir: root) or fail "could not merge changes"
|
140
|
-
rescue => error
|
141
|
-
Console.logger.error(self, error) {"Upgrade failed."}
|
142
|
-
|
143
|
-
system("git", "checkout", "master", chdir: root)
|
144
|
-
ensure
|
145
|
-
system("git", "branch", "-D", branch_name, chdir: root)
|
146
134
|
end
|
147
135
|
end
|
148
136
|
|
149
137
|
private
|
150
138
|
|
139
|
+
def commit_changes(root, message)
|
140
|
+
# Ensure the current branch is clean:
|
141
|
+
system("git", "diff-index", "--quiet", "HEAD", chdir: root) or fail "current branch is not clean"
|
142
|
+
|
143
|
+
begin
|
144
|
+
yield
|
145
|
+
rescue
|
146
|
+
# Clear out the changes:
|
147
|
+
system("git", "reset", "--hard", "HEAD", chdir: root) or fail "could not reset changes"
|
148
|
+
raise
|
149
|
+
end
|
150
|
+
|
151
|
+
# Commit all changes:
|
152
|
+
system("git", "commit", "-m", message, chdir: root) or fail "could not commit changes"
|
153
|
+
end
|
154
|
+
|
151
155
|
# Move legacy `pages/_static` to `public/_static`.
|
152
156
|
def move_static!(root)
|
153
157
|
old_static_path = File.expand_path('pages/_static', root)
|
data/lib/utopia/version.rb
CHANGED
data/setup/site/Guardfile
CHANGED
@@ -8,22 +8,3 @@ group :development do
|
|
8
8
|
notification :off
|
9
9
|
end
|
10
10
|
end
|
11
|
-
|
12
|
-
group :test do
|
13
|
-
# guard :rspec, cmd: 'rspec' do
|
14
|
-
# # Notifications can get a bit tedious:
|
15
|
-
# # notification :off
|
16
|
-
|
17
|
-
# # Re-run specs if they are changed:
|
18
|
-
# watch(%r{^spec/.+_spec\.rb$})
|
19
|
-
# watch('spec/spec_helper.rb') {'spec'}
|
20
|
-
|
21
|
-
# # Run relevent specs if files in `lib/` or `pages/` are changed:
|
22
|
-
# watch(%r{^lib/(.+)\.rb$}) {|match| "spec/lib/#{match[1]}_spec.rb" }
|
23
|
-
# watch(%r{^pages/(.+)\.(rb|xnode)$}) {|match| "spec/pages/#{match[1]}_spec.rb"}
|
24
|
-
# watch(%r{^pages/(.+)controller\.rb$}) {|match| Dir.glob("spec/pages/#{match[1]}*_spec.rb")}
|
25
|
-
|
26
|
-
# # If any files in pages changes, ensure the website still works:
|
27
|
-
# watch(%r{^pages/.*}) {'spec/website_spec.rb'}
|
28
|
-
# end
|
29
|
-
end
|
data/setup/site/config.ru
CHANGED
@@ -14,7 +14,7 @@ else
|
|
14
14
|
use Rack::ShowExceptions unless UTOPIA.testing?
|
15
15
|
end
|
16
16
|
|
17
|
-
#
|
17
|
+
# Serve static files from "public" directory:
|
18
18
|
use Utopia::Static, root: 'public'
|
19
19
|
|
20
20
|
use Utopia::Redirection::Rewrite, {
|
@@ -40,10 +40,10 @@ use Utopia::Session,
|
|
40
40
|
|
41
41
|
use Utopia::Controller
|
42
42
|
|
43
|
-
#
|
43
|
+
# Serve static files from "pages" directory:
|
44
44
|
use Utopia::Static
|
45
45
|
|
46
|
-
# Serve dynamic content
|
46
|
+
# Serve dynamic content:
|
47
47
|
use Utopia::Content
|
48
48
|
|
49
49
|
run lambda { |env| [404, {}, []] }
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utopia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.22.
|
4
|
+
version: 2.22.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -411,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
411
411
|
- !ruby/object:Gem::Version
|
412
412
|
version: '0'
|
413
413
|
requirements: []
|
414
|
-
rubygems_version: 3.
|
414
|
+
rubygems_version: 3.4.6
|
415
415
|
signing_key:
|
416
416
|
specification_version: 4
|
417
417
|
summary: Utopia is a framework for building dynamic content-driven websites.
|
metadata.gz.sig
CHANGED
Binary file
|