hanamismith 0.5.0 → 0.6.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +5 -3
- data/hanamismith.gemspec +1 -1
- data/lib/hanamismith/builders/console.rb +18 -0
- data/lib/hanamismith/cli/actions/build.rb +3 -0
- data/lib/hanamismith/templates/%project_name%/Procfile.erb +1 -1
- data/lib/hanamismith/templates/%project_name%/config/app.rb.erb +10 -1
- data/lib/hanamismith/templates/%project_name%/config/providers/persistence.rb.erb +9 -1
- data/lib/hanamismith/templates/%project_name%/config/routes.rb.erb +2 -2
- data/lib/hanamismith/templates/%project_name%/config/settings.rb.erb +1 -1
- data.tar.gz.sig +1 -2
- 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: ccc945b74eb6e9d07c16a9cbaf15bd90f00e23ee2a4a4f4da0d42186d7b48f65
|
4
|
+
data.tar.gz: 1a14e5d6244c87171a8857d63605d1b8d21c8ab1a7fd8a70a649dcd56fe1ad18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be31386a7711bef55f38b756c66186f1e337648f675208e07713311f523abb367ee1a0075eba5245e807e6b8e6d63d5e6c34d4ac457c2467ac1864dfc45a6373
|
7
|
+
data.tar.gz: 8376b37b8645b49eeb764aa820298c1041645aa174fa7a16e34ff76f82d79bcc788aaa52e905e368952f03c2753d9507ef9852d71cf2d410e03736f4a85e538c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -30,8 +30,8 @@ toc::[]
|
|
30
30
|
|
31
31
|
== Features
|
32
32
|
|
33
|
-
* Built atop {rubysmith_link}
|
34
|
-
* Uses {dry_link} functional programming.
|
33
|
+
* Built atop {rubysmith_link} for building project skeleton.
|
34
|
+
* Uses {dry_link} for functional programming.
|
35
35
|
* Uses {hanami_link} for web application development.
|
36
36
|
* Uses {htmx_link} for proper REST (hypermedia) architectures (i.e. HTML over the wire) so you can write less code and avoid bloated JavaScript stacks.
|
37
37
|
* Uses {pg_link} coupled with {rom_link} for database management.
|
@@ -40,6 +40,8 @@ toc::[]
|
|
40
40
|
* Uses {capybara_link} with {cuprite_link} (driver) for full, headless, feature testing.
|
41
41
|
* Uses {dotenv_link} for managing your environment configurations.
|
42
42
|
* Provides support for Continuous Integration systems like link:https://circleci.com[Circle CI] (default) and link:https://docs.github.com/en/actions[GitHub Actions].
|
43
|
+
* Provides the `/up` health check endpoint via the `Health` slice.
|
44
|
+
* Disables link:https://github.com/ruby/irb[IRB] console autocomplete when used in production-like environments. You can re-enable IRB autocomplete by setting `IRB_USE_AUTOCOMPLETE=true` before launching your console in non development or test environments.
|
43
45
|
|
44
46
|
== Requirements
|
45
47
|
|
@@ -164,7 +166,7 @@ bin/hanami --help
|
|
164
166
|
Once the server is running you can visit (or ping) the following endpoints:
|
165
167
|
|
166
168
|
* `/`: The default welcome page.
|
167
|
-
* `/
|
169
|
+
* `/up`: The health status of the application. This will be _green_ (200 OK) when the server is up or _red_ (503 Service Unavailable) when the server is down.
|
168
170
|
|
169
171
|
=== Aliases
|
170
172
|
|
data/hanamismith.gemspec
CHANGED
@@ -14,9 +14,27 @@ module Hanamismith
|
|
14
14
|
super
|
15
15
|
builder.call(configuration.merge(template_path: "%project_name%/bin/console.erb"))
|
16
16
|
.replace(/require_relative.+/, %(require "hanami/prepare"))
|
17
|
+
add_irb_autocomplete
|
17
18
|
|
18
19
|
configuration
|
19
20
|
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def add_irb_autocomplete
|
25
|
+
with_template.insert_before "IRB.start",
|
26
|
+
<<~CODE
|
27
|
+
unless Hanami.env? :development, :test
|
28
|
+
ENV["IRB_USE_AUTOCOMPLETE"] ||= "false"
|
29
|
+
puts "IRB autocomplete disabled."
|
30
|
+
end
|
31
|
+
|
32
|
+
CODE
|
33
|
+
end
|
34
|
+
|
35
|
+
def with_template
|
36
|
+
builder.call configuration.merge(template_path: "%project_name%/bin/console.erb")
|
37
|
+
end
|
20
38
|
end
|
21
39
|
end
|
22
40
|
end
|
@@ -8,6 +8,7 @@ module Hanamismith
|
|
8
8
|
include Hanamismith::Import[:logger]
|
9
9
|
|
10
10
|
# Order is important.
|
11
|
+
# rubocop:todo Metrics/CollectionLiteralLength
|
11
12
|
BUILDERS = [
|
12
13
|
Builders::Core,
|
13
14
|
Builders::Providers::Persistence,
|
@@ -24,6 +25,7 @@ module Hanamismith
|
|
24
25
|
Rubysmith::Builders::Documentation::Version,
|
25
26
|
Rubysmith::Builders::Git::Setup,
|
26
27
|
Rubysmith::Builders::Git::Ignore,
|
28
|
+
Rubysmith::Builders::Git::Safe,
|
27
29
|
Builders::Bundler,
|
28
30
|
Builders::Rake,
|
29
31
|
Builders::Binstub,
|
@@ -53,6 +55,7 @@ module Hanamismith
|
|
53
55
|
Builders::Environments::Test,
|
54
56
|
Builders::Git::Commit
|
55
57
|
].freeze
|
58
|
+
# rubocop:enable Metrics/CollectionLiteralLength
|
56
59
|
|
57
60
|
def initialize(builders: BUILDERS, **)
|
58
61
|
super(**)
|
@@ -1 +1 @@
|
|
1
|
-
web: bundle exec puma --
|
1
|
+
web: bundle exec puma --config ./config/puma.rb
|
@@ -1,11 +1,20 @@
|
|
1
1
|
require "hanami"
|
2
2
|
|
3
3
|
<% namespace do %>
|
4
|
-
#
|
4
|
+
# Defines global application configuration.
|
5
5
|
class App < Hanami::App
|
6
6
|
config.actions.content_security_policy[:script_src] = "'self' 'unsafe-eval'"
|
7
7
|
|
8
8
|
config.middleware.use Rack::Deflater
|
9
9
|
config.middleware.use Rack::Static, {urls: %w[/stylesheets /javascript], root: "public"}
|
10
|
+
|
11
|
+
environment :development do
|
12
|
+
config.logger.options[:colorize] = true
|
13
|
+
|
14
|
+
config.logger = config.logger.instance.add_backend(
|
15
|
+
colorize: false,
|
16
|
+
stream: Hanami.app.root.join("log/development.log")
|
17
|
+
)
|
18
|
+
end
|
10
19
|
end
|
11
20
|
<% end %>
|
@@ -15,12 +15,20 @@ Hanami.app.register_provider :persistence, namespace: true do
|
|
15
15
|
|
16
16
|
configuration.plugin :sql, relations: :auto_restrictions
|
17
17
|
|
18
|
+
database = configuration.gateways[:default].connection
|
19
|
+
|
18
20
|
register "config", configuration
|
19
|
-
register "db",
|
21
|
+
register "db", database
|
22
|
+
|
23
|
+
Sequel::Migrator.is_current? database, Hanami.app.root.join("db/migrate")
|
24
|
+
rescue NoMethodError, Sequel::Migrator::Error => error
|
25
|
+
message = error.message
|
26
|
+
Hanami.logger.error message unless error.is_a?(NoMethodError) && message.include?("migration")
|
20
27
|
end
|
21
28
|
|
22
29
|
start do
|
23
30
|
configuration = target["persistence.config"]
|
31
|
+
|
24
32
|
configuration.auto_registration(
|
25
33
|
target.root.join("lib/<%= configuration.project_path %>/persistence"),
|
26
34
|
namespace: "<%= configuration.project_namespaced_class %>::Persistence"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% namespace do %>
|
2
|
-
#
|
2
|
+
# Defines application routes.
|
3
3
|
class Routes < Hanami::Routes
|
4
|
-
slice(:health, at: "/
|
4
|
+
slice(:health, at: "/up") { root to: "show" }
|
5
5
|
slice(:main, at: "/") { root to: "home.show" }
|
6
6
|
end
|
7
7
|
<% end %>
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
P"T"Fw%{F��t4t2!NJ��sJ9_Q���mɎg&���>w�Y�\������:Ypu��,T�|�g+�%^�ti��[?����>&%v��K��W{�x�C�f̧bj�~�B��!�&������u@�s]�H�1��şk'�c��?߽y�A���$A�����U�h�C,��d�H��^8(��z�t��C�a<I Y�+z�=�͛.3X.�
|
1
|
+
�Z����ɜ���C3hZ������]�u�d�uv�����*���8D�uǢ����G��x��B������Tc<k)�R��J�Ğld�D�kʿi�*o�lk�?Mz��������Hv���S��/�O��z�'�KF�B�R�}�T&0��F��D�)ƓBa���;���ݯ�U�]d$�Іh�Q�`��~:Y�H�����k#�۲9m鮫��;��ϱ�ZB�J��#k�-�J�Y�>�|��Jw
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanamismith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -28,7 +28,7 @@ cert_chain:
|
|
28
28
|
CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
|
29
29
|
RFE=
|
30
30
|
-----END CERTIFICATE-----
|
31
|
-
date: 2023-
|
31
|
+
date: 2023-03-01 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: cogger
|
metadata.gz.sig
CHANGED
Binary file
|