utopia 2.23.0 → 2.24.1
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 +6 -6
- data/bake/utopia/server.rb +1 -1
- data/bake/utopia/site.rb +10 -8
- data/bake/utopia.rb +0 -2
- data/lib/utopia/content/document.rb +4 -4
- data/lib/utopia/content/link.rb +5 -5
- data/lib/utopia/content/markup.rb +12 -12
- data/lib/utopia/content.rb +4 -4
- data/lib/utopia/controller/actions.rb +1 -1
- data/lib/utopia/extensions/array_split.rb +1 -1
- data/lib/utopia/redirection.rb +1 -1
- data/lib/utopia/session.rb +2 -2
- data/lib/utopia/setup.rb +4 -4
- data/lib/utopia/version.rb +1 -1
- data/license.md +1 -1
- data/readme.md +18 -19
- data/setup/site/config/sus.rb +1 -1
- data/setup/site/fixtures/website.rb +1 -1
- data/setup/site/test/website.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +13 -111
- metadata.gz.sig +0 -0
- data/lib/utopia/logger.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c7a31bf77a1bfba37a316efca2a38c74c6510c0e8c17ae3910f8f73d84d4d42
|
4
|
+
data.tar.gz: c8c0ae33ddd859d74c7fc042b411d9fc8f1a020e95f2f9323ecbc4f0ef9f128c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86b4bf623121f80d16c998fa19f575d2e25990ea3b15acb0cbc17370b76af78a91dfc1cc00272641b78371a72e2ad4d88799e3afd674740b80da3292bcaa2b1f
|
7
|
+
data.tar.gz: 7ec2321f0fed9e13f7f6aa5bd8432e851414de646477fdb3bbafe7145b4acd8a9413d2494eb474438d1379f31f08c24d8ca5ff25ce400cfe1d86258376a217ce
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/bake/utopia/environment.rb
CHANGED
@@ -24,7 +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.
|
27
|
+
Console.info(self) {"Setting up defaults for environment #{name}..."}
|
28
28
|
# Set some useful defaults for the environment.
|
29
29
|
store['UTOPIA_SESSION_SECRET'] ||= SecureRandom.hex(40)
|
30
30
|
end
|
@@ -40,17 +40,17 @@ def update(name, root: context.root, **variables)
|
|
40
40
|
key = key.to_s
|
41
41
|
|
42
42
|
if value && !value.empty?
|
43
|
-
Console.
|
43
|
+
Console.info(self) {"ENV[#{key.inspect}] will default to #{value.inspect} unless otherwise specified."}
|
44
44
|
store[key] = value
|
45
45
|
else
|
46
|
-
Console.
|
46
|
+
Console.info(self) {"ENV[#{key.inspect}] will be unset unless otherwise specified."}
|
47
47
|
store.delete(key)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
51
|
yield store if block_given?
|
52
52
|
|
53
|
-
Console.
|
53
|
+
Console.info(self) do |buffer|
|
54
54
|
buffer.puts "Environment #{name} (#{path}):"
|
55
55
|
store.roots.each do |key|
|
56
56
|
value = store[key]
|
@@ -65,10 +65,10 @@ def read(name, root: context.root)
|
|
65
65
|
environment_path = self.environment_path(root, name)
|
66
66
|
|
67
67
|
if File.exist?(environment_path)
|
68
|
-
Console.
|
68
|
+
Console.debug(self) {"Loading environment #{name} from #{environment_path}..."}
|
69
69
|
YAML.load_file(environment_path)
|
70
70
|
else
|
71
|
-
Console.
|
71
|
+
Console.debug(self) {"No environment #{name} found at #{environment_path}."}
|
72
72
|
{}
|
73
73
|
end
|
74
74
|
end
|
data/bake/utopia/server.rb
CHANGED
data/bake/utopia/site.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2023, by Samuel Williams.
|
4
|
+
# Copyright, 2017-2023, by Samuel Williams.
|
5
|
+
# Copyright, 2020, by Michael Adams.
|
5
6
|
|
6
7
|
def initialize(...)
|
7
8
|
super
|
8
9
|
|
9
10
|
require 'fileutils'
|
10
11
|
require 'find'
|
12
|
+
require 'console'
|
11
13
|
|
12
14
|
require_relative '../../lib/utopia/version'
|
13
15
|
end
|
@@ -29,7 +31,7 @@ SITE_ROOT = File.join(SETUP_ROOT, 'site')
|
|
29
31
|
|
30
32
|
# Create a new local Utopia website using the default template.
|
31
33
|
def create(root: context.root)
|
32
|
-
Console.
|
34
|
+
Console.debug(self) {"Setting up site in #{root} for Utopia v#{Utopia::VERSION}..."}
|
33
35
|
|
34
36
|
DIRECTORIES.each do |directory|
|
35
37
|
FileUtils.mkdir_p(File.join(root, directory))
|
@@ -57,7 +59,7 @@ def create(root: context.root)
|
|
57
59
|
buffer = File.read(destination_path).gsub('$UTOPIA_VERSION', Utopia::VERSION)
|
58
60
|
File.open(destination_path, "w") { |file| file.write(buffer) }
|
59
61
|
else
|
60
|
-
Console.
|
62
|
+
Console.warn(self) {"Could not open #{destination_path}, maybe it should be removed from CONFIGURATION_FILES?"}
|
61
63
|
end
|
62
64
|
end
|
63
65
|
|
@@ -66,7 +68,7 @@ def create(root: context.root)
|
|
66
68
|
context.lookup('utopia:environment:setup').call(root: root)
|
67
69
|
|
68
70
|
if !File.exist?('.git')
|
69
|
-
Console.
|
71
|
+
Console.info(self) {"Setting up git repository..."}
|
70
72
|
|
71
73
|
system("git", "init", chdir: root) or warn "could not create git repository"
|
72
74
|
system("git", "add", ".", chdir: root) or warn "could not add all files"
|
@@ -93,7 +95,7 @@ end
|
|
93
95
|
def upgrade(root: context.root)
|
94
96
|
message = "Upgrade to utopia v#{Utopia::VERSION}."
|
95
97
|
|
96
|
-
Console.
|
98
|
+
Console.info(self) {"Upgrading #{root}..."}
|
97
99
|
|
98
100
|
commit_changes(root, message) do
|
99
101
|
DIRECTORIES.each do |directory|
|
@@ -104,7 +106,7 @@ def upgrade(root: context.root)
|
|
104
106
|
path = File.join(root, path)
|
105
107
|
|
106
108
|
if File.exist?(path)
|
107
|
-
Console.
|
109
|
+
Console.info(self) {"Removing #{path}..."}
|
108
110
|
FileUtils.rm_rf(path)
|
109
111
|
end
|
110
112
|
end
|
@@ -113,7 +115,7 @@ def upgrade(root: context.root)
|
|
113
115
|
source_path = File.join(SITE_ROOT, configuration_file)
|
114
116
|
destination_path = File.join(root, configuration_file)
|
115
117
|
|
116
|
-
Console.
|
118
|
+
Console.info(self) {"Updating #{destination_path}..."}
|
117
119
|
|
118
120
|
FileUtils.copy_entry(source_path, destination_path)
|
119
121
|
buffer = File.read(destination_path).gsub('$UTOPIA_VERSION', Utopia::VERSION)
|
@@ -164,7 +166,7 @@ def move_static!(root)
|
|
164
166
|
if File.lstat(new_static_path).symlink?
|
165
167
|
FileUtils.rm_f new_static_path
|
166
168
|
else
|
167
|
-
Console.
|
169
|
+
Console.warn(self) {"Can't move pages/_static to public/_static, destination already exists."}
|
168
170
|
return
|
169
171
|
end
|
170
172
|
end
|
data/bake/utopia.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2015-
|
4
|
+
# Copyright, 2015-2024, by Samuel Williams.
|
5
5
|
|
6
6
|
require_relative 'links'
|
7
7
|
require_relative 'response'
|
@@ -216,7 +216,7 @@ module Utopia
|
|
216
216
|
@node = node
|
217
217
|
@attributes = attributes
|
218
218
|
|
219
|
-
@buffer =
|
219
|
+
@buffer = XRB::MarkupString.new.force_encoding(Encoding::UTF_8)
|
220
220
|
@content = nil
|
221
221
|
|
222
222
|
@deferred = []
|
@@ -246,7 +246,7 @@ module Utopia
|
|
246
246
|
|
247
247
|
def call(document)
|
248
248
|
@content = @buffer
|
249
|
-
@buffer =
|
249
|
+
@buffer = XRB::MarkupString.new.force_encoding(Encoding::UTF_8)
|
250
250
|
|
251
251
|
if node.respond_to? :call
|
252
252
|
node.call(document, self)
|
@@ -262,7 +262,7 @@ module Utopia
|
|
262
262
|
end
|
263
263
|
|
264
264
|
def text(string)
|
265
|
-
|
265
|
+
XRB::Markup.append(@buffer, string)
|
266
266
|
end
|
267
267
|
|
268
268
|
def tag_complete(tag)
|
data/lib/utopia/content/link.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2009-
|
4
|
+
# Copyright, 2009-2024, by Samuel Williams.
|
5
5
|
# Copyright, 2017, by Huba Nagy.
|
6
6
|
# Copyright, 2020, by Michael Adams.
|
7
7
|
|
8
8
|
require 'yaml'
|
9
|
-
require '
|
9
|
+
require 'xrb/builder'
|
10
10
|
|
11
|
-
require '
|
11
|
+
require 'xrb/strings'
|
12
12
|
|
13
13
|
require_relative '../path'
|
14
14
|
require_relative '../locale'
|
@@ -24,7 +24,7 @@ module Utopia
|
|
24
24
|
@locale = locale
|
25
25
|
@path = Path.create(path)
|
26
26
|
@info = info || {}
|
27
|
-
@title =
|
27
|
+
@title = XRB::Strings.to_title(title || name)
|
28
28
|
end
|
29
29
|
|
30
30
|
def key
|
@@ -89,7 +89,7 @@ module Utopia
|
|
89
89
|
def to_anchor(base: nil, content: self.title, builder: nil, **attributes)
|
90
90
|
attributes[:class] ||= 'link'
|
91
91
|
|
92
|
-
|
92
|
+
XRB::Builder.fragment(builder) do |inner_builder|
|
93
93
|
if href?
|
94
94
|
attributes[:href] ||= relative_href(base)
|
95
95
|
attributes[:target] ||= @info[:target]
|
@@ -1,16 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2009-
|
4
|
+
# Copyright, 2009-2024, by Samuel Williams.
|
5
5
|
|
6
|
-
require '
|
7
|
-
require '
|
8
|
-
require '
|
9
|
-
require '
|
6
|
+
require 'xrb/parsers'
|
7
|
+
require 'xrb/entities'
|
8
|
+
require 'xrb/strings'
|
9
|
+
require 'xrb/tag'
|
10
10
|
|
11
11
|
module Utopia
|
12
12
|
class Content
|
13
|
-
Tag =
|
13
|
+
Tag = XRB::Tag
|
14
14
|
|
15
15
|
# A hash which forces all keys to be symbols and fails with KeyError when strings are used.
|
16
16
|
class SymbolicHash < Hash
|
@@ -66,12 +66,12 @@ module Utopia
|
|
66
66
|
attr :closing_tag
|
67
67
|
|
68
68
|
def start_location
|
69
|
-
|
69
|
+
XRB::Location.new(@buffer.read, opening_tag.offset)
|
70
70
|
end
|
71
71
|
|
72
72
|
def end_location
|
73
73
|
if closing_tag and closing_tag.respond_to? :offset
|
74
|
-
|
74
|
+
XRB::Location.new(@buffer.read, closing_tag.offset)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -84,14 +84,14 @@ module Utopia
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
def self.parse(buffer, delegate, entities =
|
87
|
+
def self.parse(buffer, delegate, entities = XRB::Entities::HTML5)
|
88
88
|
# This is for compatibility with the existing API which passes in a string:
|
89
|
-
buffer =
|
89
|
+
buffer = XRB::Buffer(buffer)
|
90
90
|
|
91
91
|
self.new(buffer, delegate, entities).parse!
|
92
92
|
end
|
93
93
|
|
94
|
-
def initialize(buffer, delegate, entities =
|
94
|
+
def initialize(buffer, delegate, entities = XRB::Entities::HTML5)
|
95
95
|
@buffer = buffer
|
96
96
|
|
97
97
|
@delegate = delegate
|
@@ -102,7 +102,7 @@ module Utopia
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def parse!
|
105
|
-
|
105
|
+
XRB::Parsers.parse_markup(@buffer, self, @entities)
|
106
106
|
|
107
107
|
if tag = @stack.pop
|
108
108
|
raise UnbalancedTagError.new(@buffer, tag)
|
data/lib/utopia/content.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2009-
|
4
|
+
# Copyright, 2009-2024, by Samuel Williams.
|
5
5
|
|
6
6
|
require_relative 'middleware'
|
7
7
|
require_relative 'localization'
|
@@ -11,7 +11,7 @@ require_relative 'content/node'
|
|
11
11
|
require_relative 'content/markup'
|
12
12
|
require_relative 'content/tags'
|
13
13
|
|
14
|
-
require '
|
14
|
+
require 'xrb/template'
|
15
15
|
|
16
16
|
require 'concurrent/map'
|
17
17
|
|
@@ -64,13 +64,13 @@ module Utopia
|
|
64
64
|
|
65
65
|
def fetch_template(path)
|
66
66
|
@template_cache.fetch_or_store(path.to_s) do
|
67
|
-
|
67
|
+
XRB::Template.load_file(path)
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
71
|
# Look up a named tag such as `<entry />` or `<content:page>...`
|
72
72
|
def lookup_tag(qualified_name, node)
|
73
|
-
namespace, name =
|
73
|
+
namespace, name = XRB::Tag.split(qualified_name)
|
74
74
|
|
75
75
|
if library = @namespaces[namespace]
|
76
76
|
library.call(name, node)
|
data/lib/utopia/redirection.rb
CHANGED
data/lib/utopia/session.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
require 'openssl'
|
8
8
|
require 'digest/sha2'
|
9
|
-
|
9
|
+
require 'console'
|
10
10
|
require 'json'
|
11
11
|
|
12
12
|
require_relative 'session/lazy_hash'
|
@@ -143,7 +143,7 @@ module Utopia
|
|
143
143
|
return values
|
144
144
|
end
|
145
145
|
rescue => error
|
146
|
-
|
146
|
+
Console.error(self, error)
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
data/lib/utopia/setup.rb
CHANGED
@@ -8,7 +8,7 @@ require 'securerandom'
|
|
8
8
|
|
9
9
|
require 'variant'
|
10
10
|
|
11
|
-
|
11
|
+
require 'console'
|
12
12
|
|
13
13
|
module Utopia
|
14
14
|
# Used for setting up a Utopia web application, typically via `config/environment.rb`
|
@@ -49,7 +49,7 @@ module Utopia
|
|
49
49
|
if secret.nil? || secret.empty?
|
50
50
|
secret = SecureRandom.hex(32)
|
51
51
|
|
52
|
-
|
52
|
+
Console.warn(self) do
|
53
53
|
"Generating transient #{key} secret: #{secret.inspect}"
|
54
54
|
end
|
55
55
|
end
|
@@ -93,7 +93,7 @@ module Utopia
|
|
93
93
|
path = environment_path(variant)
|
94
94
|
|
95
95
|
if File.exist?(path)
|
96
|
-
|
96
|
+
Console.debug(self) {"Loading environment at path: #{path.inspect}"}
|
97
97
|
|
98
98
|
# Load the YAML environment file:
|
99
99
|
if environment = YAML.load_file(path)
|
@@ -105,7 +105,7 @@ module Utopia
|
|
105
105
|
|
106
106
|
return true
|
107
107
|
else
|
108
|
-
|
108
|
+
Console.debug(self) {"Ignoring environment at path: #{path.inspect} (file not found)"}
|
109
109
|
|
110
110
|
return false
|
111
111
|
end
|
data/lib/utopia/version.rb
CHANGED
data/license.md
CHANGED
data/readme.md
CHANGED
@@ -15,6 +15,23 @@ Utopia is a website generation framework which provides a robust set of tools to
|
|
15
15
|
|
16
16
|
Please see the [project documentation](https://socketry.github.io/utopia).
|
17
17
|
|
18
|
+
## See Also
|
19
|
+
|
20
|
+
- [XRB](https://github.com/socketry/xrb) — Template and markup parsers, markup generation.
|
21
|
+
- [Utopia::Gallery](https://github.com/ioquatix/utopia-gallery) — A fast photo gallery based on [libvips](https://github.com/jcupitt/libvips).
|
22
|
+
- [Utopia::Project](https://github.com/socketry/utopia-project) — A Ruby project documentation tool.
|
23
|
+
- [Utopia::Analytics](https://github.com/ioquatix/utopia-analytics) — Simple integration with Google Analytics.
|
24
|
+
- [HTTP::Accept](https://github.com/ioquatix/http-accept) — RFC compliant header parser.
|
25
|
+
- [Samovar](https://github.com/ioquatix/samovar) — Command line parser used by Utopia.
|
26
|
+
- [Mapping](https://github.com/ioquatix/mapping) — Provide structured conversions for web interfaces.
|
27
|
+
- [Rack::Test::Body](https://github.com/ioquatix/rack-test-body) — Provide convenient helpers for testing web interfaces.
|
28
|
+
|
29
|
+
### Examples
|
30
|
+
|
31
|
+
- [Financier](https://github.com/ioquatix/financier) — A small business management platform.
|
32
|
+
- [mail.oriontransfer.net](https://github.com/oriontransfer/mail.oriontransfer.net) - Mail server account management.
|
33
|
+
- [www.codeotaku.com](http://www.codeotaku.com) ([source](https://github.com/ioquatix/www.codeotaku.com)) — Personal website, blog.
|
34
|
+
|
18
35
|
## Contributing
|
19
36
|
|
20
37
|
We welcome contributions to this project.
|
@@ -31,22 +48,4 @@ This project uses the [Developer Certificate of Origin](https://developercertifi
|
|
31
48
|
|
32
49
|
### Contributor Covenant
|
33
50
|
|
34
|
-
This project is governed by [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
|
35
|
-
|
36
|
-
## See Also
|
37
|
-
|
38
|
-
- [Trenni](https://github.com/ioquatix/trenni) — Template and markup parsers, markup generation.
|
39
|
-
- [Trenni::Formatters](https://github.com/ioquatix/trenni-formatters) — Helpers for HTML generation including views and forms.
|
40
|
-
- [Utopia::Gallery](https://github.com/ioquatix/utopia-gallery) — A fast photo gallery based on [libvips](https://github.com/jcupitt/libvips).
|
41
|
-
- [Utopia::Project](https://github.com/socketry/utopia-project) — A Ruby project documentation tool.
|
42
|
-
- [Utopia::Analytics](https://github.com/ioquatix/utopia-analytics) — Simple integration with Google Analytics.
|
43
|
-
- [HTTP::Accept](https://github.com/ioquatix/http-accept) — RFC compliant header parser.
|
44
|
-
- [Samovar](https://github.com/ioquatix/samovar) — Command line parser used by Utopia.
|
45
|
-
- [Mapping](https://github.com/ioquatix/mapping) — Provide structured conversions for web interfaces.
|
46
|
-
- [Rack::Test::Body](https://github.com/ioquatix/rack-test-body) — Provide convenient helpers for testing web interfaces.
|
47
|
-
|
48
|
-
### Examples
|
49
|
-
|
50
|
-
- [Financier](https://github.com/ioquatix/financier) — A small business management platform.
|
51
|
-
- [mail.oriontransfer.net](https://github.com/oriontransfer/mail.oriontransfer.net) - Mail server account management.
|
52
|
-
- [www.codeotaku.com](http://www.codeotaku.com) ([source](https://github.com/ioquatix/www.codeotaku.com)) — Personal website, blog.
|
51
|
+
This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
|
data/setup/site/config/sus.rb
CHANGED
data/setup/site/test/website.rb
CHANGED
@@ -16,7 +16,7 @@ describe "website" do
|
|
16
16
|
it "should be responsive" do
|
17
17
|
spider.fetch(statistics, client, endpoint.url) do |method, uri, response|
|
18
18
|
if response.failure?
|
19
|
-
Console.
|
19
|
+
Console.error(endpoint) {"#{method} #{uri} -> #{response.status}"}
|
20
20
|
end
|
21
21
|
end.wait
|
22
22
|
|
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.
|
4
|
+
version: 2.24.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -41,7 +41,7 @@ cert_chain:
|
|
41
41
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
42
42
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
43
43
|
-----END CERTIFICATE-----
|
44
|
-
date:
|
44
|
+
date: 2024-05-03 00:00:00.000000000 Z
|
45
45
|
dependencies:
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: concurrent-ruby
|
@@ -63,14 +63,14 @@ dependencies:
|
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '1.
|
66
|
+
version: '1.24'
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: '1.
|
73
|
+
version: '1.24'
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
75
|
name: http-accept
|
76
76
|
requirement: !ruby/object:Gem::Requirement
|
@@ -183,20 +183,6 @@ dependencies:
|
|
183
183
|
- - "~>"
|
184
184
|
- !ruby/object:Gem::Version
|
185
185
|
version: '0.10'
|
186
|
-
- !ruby/object:Gem::Dependency
|
187
|
-
name: trenni
|
188
|
-
requirement: !ruby/object:Gem::Requirement
|
189
|
-
requirements:
|
190
|
-
- - "~>"
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
version: '3.0'
|
193
|
-
type: :runtime
|
194
|
-
prerelease: false
|
195
|
-
version_requirements: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '3.0'
|
200
186
|
- !ruby/object:Gem::Dependency
|
201
187
|
name: variant
|
202
188
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,103 +198,19 @@ dependencies:
|
|
212
198
|
- !ruby/object:Gem::Version
|
213
199
|
version: '0.1'
|
214
200
|
- !ruby/object:Gem::Dependency
|
215
|
-
name:
|
216
|
-
requirement: !ruby/object:Gem::Requirement
|
217
|
-
requirements:
|
218
|
-
- - ">="
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
version: '0'
|
221
|
-
type: :development
|
222
|
-
prerelease: false
|
223
|
-
version_requirements: !ruby/object:Gem::Requirement
|
224
|
-
requirements:
|
225
|
-
- - ">="
|
226
|
-
- !ruby/object:Gem::Version
|
227
|
-
version: '0'
|
228
|
-
- !ruby/object:Gem::Dependency
|
229
|
-
name: bake
|
230
|
-
requirement: !ruby/object:Gem::Requirement
|
231
|
-
requirements:
|
232
|
-
- - ">="
|
233
|
-
- !ruby/object:Gem::Version
|
234
|
-
version: '0'
|
235
|
-
type: :development
|
236
|
-
prerelease: false
|
237
|
-
version_requirements: !ruby/object:Gem::Requirement
|
238
|
-
requirements:
|
239
|
-
- - ">="
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: '0'
|
242
|
-
- !ruby/object:Gem::Dependency
|
243
|
-
name: bundler
|
244
|
-
requirement: !ruby/object:Gem::Requirement
|
245
|
-
requirements:
|
246
|
-
- - ">="
|
247
|
-
- !ruby/object:Gem::Version
|
248
|
-
version: '0'
|
249
|
-
type: :development
|
250
|
-
prerelease: false
|
251
|
-
version_requirements: !ruby/object:Gem::Requirement
|
252
|
-
requirements:
|
253
|
-
- - ">="
|
254
|
-
- !ruby/object:Gem::Version
|
255
|
-
version: '0'
|
256
|
-
- !ruby/object:Gem::Dependency
|
257
|
-
name: covered
|
258
|
-
requirement: !ruby/object:Gem::Requirement
|
259
|
-
requirements:
|
260
|
-
- - ">="
|
261
|
-
- !ruby/object:Gem::Version
|
262
|
-
version: '0'
|
263
|
-
type: :development
|
264
|
-
prerelease: false
|
265
|
-
version_requirements: !ruby/object:Gem::Requirement
|
266
|
-
requirements:
|
267
|
-
- - ">="
|
268
|
-
- !ruby/object:Gem::Version
|
269
|
-
version: '0'
|
270
|
-
- !ruby/object:Gem::Dependency
|
271
|
-
name: falcon
|
272
|
-
requirement: !ruby/object:Gem::Requirement
|
273
|
-
requirements:
|
274
|
-
- - ">="
|
275
|
-
- !ruby/object:Gem::Version
|
276
|
-
version: '0'
|
277
|
-
type: :development
|
278
|
-
prerelease: false
|
279
|
-
version_requirements: !ruby/object:Gem::Requirement
|
280
|
-
requirements:
|
281
|
-
- - ">="
|
282
|
-
- !ruby/object:Gem::Version
|
283
|
-
version: '0'
|
284
|
-
- !ruby/object:Gem::Dependency
|
285
|
-
name: sus
|
201
|
+
name: xrb
|
286
202
|
requirement: !ruby/object:Gem::Requirement
|
287
203
|
requirements:
|
288
|
-
- - "
|
289
|
-
- !ruby/object:Gem::Version
|
290
|
-
version: '0'
|
291
|
-
type: :development
|
292
|
-
prerelease: false
|
293
|
-
version_requirements: !ruby/object:Gem::Requirement
|
294
|
-
requirements:
|
295
|
-
- - ">="
|
296
|
-
- !ruby/object:Gem::Version
|
297
|
-
version: '0'
|
298
|
-
- !ruby/object:Gem::Dependency
|
299
|
-
name: sus-fixtures-async-http
|
300
|
-
requirement: !ruby/object:Gem::Requirement
|
301
|
-
requirements:
|
302
|
-
- - ">="
|
204
|
+
- - "~>"
|
303
205
|
- !ruby/object:Gem::Version
|
304
|
-
version: '0'
|
305
|
-
type: :
|
206
|
+
version: '0.4'
|
207
|
+
type: :runtime
|
306
208
|
prerelease: false
|
307
209
|
version_requirements: !ruby/object:Gem::Requirement
|
308
210
|
requirements:
|
309
|
-
- - "
|
211
|
+
- - "~>"
|
310
212
|
- !ruby/object:Gem::Version
|
311
|
-
version: '0'
|
213
|
+
version: '0.4'
|
312
214
|
description:
|
313
215
|
email:
|
314
216
|
executables: []
|
@@ -349,7 +251,6 @@ files:
|
|
349
251
|
- lib/utopia/http.rb
|
350
252
|
- lib/utopia/locale.rb
|
351
253
|
- lib/utopia/localization.rb
|
352
|
-
- lib/utopia/logger.rb
|
353
254
|
- lib/utopia/middleware.rb
|
354
255
|
- lib/utopia/path.rb
|
355
256
|
- lib/utopia/path/matcher.rb
|
@@ -396,6 +297,7 @@ licenses:
|
|
396
297
|
- MIT
|
397
298
|
metadata:
|
398
299
|
funding_uri: https://github.com/sponsors/ioquatix/
|
300
|
+
source_code_uri: https://github.com/ioquatix/utopia.git
|
399
301
|
post_install_message:
|
400
302
|
rdoc_options: []
|
401
303
|
require_paths:
|
@@ -404,14 +306,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
404
306
|
requirements:
|
405
307
|
- - ">="
|
406
308
|
- !ruby/object:Gem::Version
|
407
|
-
version: '3.
|
309
|
+
version: '3.1'
|
408
310
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
409
311
|
requirements:
|
410
312
|
- - ">="
|
411
313
|
- !ruby/object:Gem::Version
|
412
314
|
version: '0'
|
413
315
|
requirements: []
|
414
|
-
rubygems_version: 3.
|
316
|
+
rubygems_version: 3.5.3
|
415
317
|
signing_key:
|
416
318
|
specification_version: 4
|
417
319
|
summary: Utopia is a framework for building dynamic content-driven websites.
|
metadata.gz.sig
CHANGED
Binary file
|