hanamismith 0.1.0 → 0.2.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 +12 -2
- data/hanamismith.gemspec +2 -2
- data/lib/hanamismith/builders/bundler.rb +2 -0
- data/lib/hanamismith/builders/core.rb +5 -4
- data/lib/hanamismith/builders/rack/attack.rb +32 -0
- data/lib/hanamismith/builders/rack/config.rb +30 -0
- data/lib/hanamismith/builders/refinement.rb +34 -0
- data/lib/hanamismith/builders/slices/health.rb +39 -0
- data/lib/hanamismith/builders/slices/main.rb +1 -1
- data/lib/hanamismith/builders/{rack.rb → stylesheet.rb} +4 -3
- data/lib/hanamismith/cli/actions/build.rb +5 -1
- data/lib/hanamismith/templates/%project_name%/Guardfile.erb +1 -1
- data/lib/hanamismith/templates/%project_name%/app/{repo.rb.erb → repository.rb.erb} +1 -1
- data/lib/hanamismith/templates/%project_name%/config/app.rb.erb +3 -0
- data/lib/hanamismith/templates/%project_name%/config/providers/rack_attack.rb.erb +11 -0
- data/lib/hanamismith/templates/%project_name%/config/routes.rb.erb +2 -3
- data/lib/hanamismith/templates/%project_name%/config.ru.erb +3 -1
- data/lib/hanamismith/templates/%project_name%/lib/%project_path%/refinements/actions/response.rb.erb +16 -0
- data/lib/hanamismith/templates/%project_name%/public/stylesheets/site.css.erb +11 -0
- data/lib/hanamismith/templates/%project_name%/slices/health/actions/show.rb.erb +18 -0
- data/lib/hanamismith/templates/%project_name%/slices/main/repository.rb.erb +7 -0
- data/lib/hanamismith/templates/%project_name%/slices/main/templates/layouts/app.html.erb.erb +4 -18
- data/lib/hanamismith/templates/%project_name%/spec/lib/%project_path%/refinements/actions/response_spec.rb.erb +24 -0
- data/lib/hanamismith/templates/%project_name%/spec/slices/health/actions/show_spec.rb.erb +14 -0
- data.tar.gz.sig +3 -2
- metadata +17 -7
- metadata.gz.sig +0 -0
- data/lib/hanamismith/templates/%project_name%/slices/main/repo.rb.erb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf1e7802201b63905939929ff7014adcd106767ffdb951e2a8a312ec6abfeb2a
|
4
|
+
data.tar.gz: 8720f041a7d69d3eed3307f156941a0e444a952c711169decc588b4e6612ece4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 336891443203d370011c047e118882edfc37e3f2e2e0c4b48331613b96d7837a5896dcc7123384ba15e7294dc464cc07a5ed809e5e918918f9a7fc86581fa10c
|
7
|
+
data.tar.gz: fd075996ec4289fdc853a0c9fd3836f028a5527d413b498ac2f4ed09ffcb27969cf86697cadd566acecbfa5e0c36047145199b630d961486a8380636383d70ae
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
:htmx_link: link:https://htmx.org[HTMX]
|
12
12
|
:pg_link: link:https://github.com/ged/ruby-pg[pg]
|
13
13
|
:puma_link: link:https://puma.io[Puma]
|
14
|
+
:rack_link: link:https://github.com/rack/rack[Rack]
|
14
15
|
:rom_link: link:https://rom-rb.org[ROM]
|
15
16
|
:rubysmith_link: link:https://www.alchemists.io/projects/rubysmith[Rubysmith]
|
16
17
|
|
@@ -34,6 +35,7 @@ toc::[]
|
|
34
35
|
* Uses {hanami_link} for web application development.
|
35
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.
|
36
37
|
* Uses {pg_link} coupled with {rom_link} for database management.
|
38
|
+
* Uses {rack_link}, specifically: `Rack::Deflater`, `Rack::Static`, and link:https://github.com/rack/rack-attack[Rack::Attack].
|
37
39
|
* Uses {puma_link} as the default web server and fully configured for local and production environments.
|
38
40
|
* Uses {capybara_link} with {cuprite_link} (driver) for full, headless, feature testing.
|
39
41
|
* Uses {dotenv_link} for managing your environment configurations.
|
@@ -136,7 +138,10 @@ hanamismith --build demo
|
|
136
138
|
|
137
139
|
# Run code quality and test coverage checks
|
138
140
|
cd demo
|
139
|
-
|
141
|
+
bin/setup
|
142
|
+
hanami db create
|
143
|
+
HANAMI_ENV=test hanami db create
|
144
|
+
bin/rake
|
140
145
|
|
141
146
|
# Develop (red, green, refactor)
|
142
147
|
bin/guard
|
@@ -152,6 +157,11 @@ hanami server
|
|
152
157
|
git push
|
153
158
|
----
|
154
159
|
|
160
|
+
Once the server is running you can visit (or ping) the following endpoints:
|
161
|
+
|
162
|
+
* `/`: The default welcome page.
|
163
|
+
* `/status`: 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.
|
164
|
+
|
155
165
|
=== Aliases
|
156
166
|
|
157
167
|
For link:https://www.gnu.org/software/bash[Bash] users -- or other shell users -- you might find the following aliases helpful in reducing terminal keystrokes when using this gem:
|
@@ -195,7 +205,7 @@ To test, run:
|
|
195
205
|
|
196
206
|
[source,bash]
|
197
207
|
----
|
198
|
-
|
208
|
+
bin/rake
|
199
209
|
----
|
200
210
|
|
201
211
|
== link:https://www.alchemists.io/policies/license[License]
|
data/hanamismith.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "hanamismith"
|
5
|
-
spec.version = "0.
|
5
|
+
spec.version = "0.2.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://www.alchemists.io/projects/hanamismith"
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_dependency "hanami", "~> 2.0"
|
31
31
|
spec.add_dependency "infusible", "~> 1.0"
|
32
32
|
spec.add_dependency "refinements", "~> 10.0"
|
33
|
-
spec.add_dependency "rubysmith", "~> 4.
|
33
|
+
spec.add_dependency "rubysmith", "~> 4.4"
|
34
34
|
spec.add_dependency "runcom", "~> 9.0"
|
35
35
|
spec.add_dependency "spek", "~> 1.0"
|
36
36
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
@@ -31,6 +31,7 @@ module Hanamismith
|
|
31
31
|
.insert_after("source", %(gem "erbse", "~> 0.1"\n))
|
32
32
|
.insert_after("source", %(gem "hanami", "~> 2.0"\n))
|
33
33
|
.insert_after("source", %(gem "hanami-controller", "~> 2.0"\n))
|
34
|
+
.insert_after("source", %(gem "hanami-helpers", "~> 0.0"\n))
|
34
35
|
.insert_after("source", %(gem "hanami-router", "~> 2.0"\n))
|
35
36
|
.insert_after("source", %(gem "hanami-validations", "~> 2.0"\n))
|
36
37
|
.insert_after(
|
@@ -38,6 +39,7 @@ module Hanamismith
|
|
38
39
|
%(gem "hanami-view", github: "hanami/view", branch: "main"\n)
|
39
40
|
)
|
40
41
|
.insert_after("source", %(gem "puma", "~> 6.0"\n))
|
42
|
+
.insert_after("source", %(gem "rack-attack", "~> 6.6"\n))
|
41
43
|
end
|
42
44
|
# rubocop:enable Metrics/MethodLength
|
43
45
|
|
@@ -24,15 +24,16 @@ module Hanamismith
|
|
24
24
|
|
25
25
|
attr_reader :configuration, :builder
|
26
26
|
|
27
|
-
def
|
27
|
+
def add_action
|
28
28
|
builder.call(configuration.merge(template_path: "%project_name%/app/action.rb.erb")).render
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
32
|
-
builder.call(configuration.merge(template_path: "%project_name%/app/
|
31
|
+
def add_repository
|
32
|
+
builder.call(configuration.merge(template_path: "%project_name%/app/repository.rb.erb"))
|
33
|
+
.render
|
33
34
|
end
|
34
35
|
|
35
|
-
def
|
36
|
+
def add_view
|
36
37
|
builder.call(configuration.merge(template_path: "%project_name%/app/view.rb.erb")).render
|
37
38
|
end
|
38
39
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
|
5
|
+
module Hanamismith
|
6
|
+
module Builders
|
7
|
+
module Rack
|
8
|
+
# Builds project skeleton with Rack Attack provider.
|
9
|
+
class Attack
|
10
|
+
using Refinements::Structs
|
11
|
+
|
12
|
+
def self.call(...) = new(...).call
|
13
|
+
|
14
|
+
def initialize configuration, builder: Rubysmith::Builder
|
15
|
+
@configuration = configuration
|
16
|
+
@builder = builder
|
17
|
+
end
|
18
|
+
|
19
|
+
def call
|
20
|
+
path = "%project_name%/config/providers/rack_attack.rb.erb"
|
21
|
+
builder.call(configuration.merge(template_path: path)).render
|
22
|
+
|
23
|
+
configuration
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_reader :configuration, :builder
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
|
5
|
+
module Hanamismith
|
6
|
+
module Builders
|
7
|
+
module Rack
|
8
|
+
# Builds project skeleton Rack support.
|
9
|
+
class Config
|
10
|
+
using Refinements::Structs
|
11
|
+
|
12
|
+
def self.call(...) = new(...).call
|
13
|
+
|
14
|
+
def initialize configuration, builder: Rubysmith::Builder
|
15
|
+
@configuration = configuration
|
16
|
+
@builder = builder
|
17
|
+
end
|
18
|
+
|
19
|
+
def call
|
20
|
+
builder.call(configuration.merge(template_path: "%project_name%/config.ru.erb")).render
|
21
|
+
configuration
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
attr_reader :configuration, :builder
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
|
5
|
+
module Hanamismith
|
6
|
+
module Builders
|
7
|
+
# Builds project skeleton foundation.
|
8
|
+
class Refinement
|
9
|
+
using Refinements::Structs
|
10
|
+
|
11
|
+
def self.call(...) = new(...).call
|
12
|
+
|
13
|
+
def initialize configuration, builder: Rubysmith::Builder
|
14
|
+
@configuration = configuration
|
15
|
+
@builder = builder
|
16
|
+
end
|
17
|
+
|
18
|
+
def call
|
19
|
+
%w[
|
20
|
+
%project_name%/lib/%project_path%/refinements/actions/response.rb.erb
|
21
|
+
%project_name%/spec/lib/%project_path%/refinements/actions/response_spec.rb.erb
|
22
|
+
].each do |path|
|
23
|
+
builder.call(configuration.merge(template_path: path)).render
|
24
|
+
end
|
25
|
+
|
26
|
+
configuration
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
attr_reader :configuration, :builder
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
|
5
|
+
module Hanamismith
|
6
|
+
module Builders
|
7
|
+
module Slices
|
8
|
+
# Builds project health slice skeleton.
|
9
|
+
class Health
|
10
|
+
using Refinements::Structs
|
11
|
+
|
12
|
+
def self.call(...) = new(...).call
|
13
|
+
|
14
|
+
def initialize configuration, builder: Rubysmith::Builder
|
15
|
+
@configuration = configuration
|
16
|
+
@builder = builder
|
17
|
+
end
|
18
|
+
|
19
|
+
def call
|
20
|
+
add_action
|
21
|
+
configuration
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
attr_reader :configuration, :builder
|
27
|
+
|
28
|
+
def add_action
|
29
|
+
%w[
|
30
|
+
%project_name%/slices/health/actions/show.rb.erb
|
31
|
+
%project_name%/spec/slices/health/actions/show_spec.rb.erb
|
32
|
+
].each do |path|
|
33
|
+
builder.call(configuration.merge(template_path: path)).render
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -4,8 +4,8 @@ require "refinements/structs"
|
|
4
4
|
|
5
5
|
module Hanamismith
|
6
6
|
module Builders
|
7
|
-
# Builds project skeleton
|
8
|
-
class
|
7
|
+
# Builds project skeleton stylesheet.
|
8
|
+
class Stylesheet
|
9
9
|
using Refinements::Structs
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
@@ -16,7 +16,8 @@ module Hanamismith
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def call
|
19
|
-
|
19
|
+
path = "%project_name%/public/stylesheets/site.css.erb"
|
20
|
+
builder.call(configuration.merge(template_path: path)).render
|
20
21
|
configuration
|
21
22
|
end
|
22
23
|
|
@@ -10,7 +10,10 @@ module Hanamismith
|
|
10
10
|
# Order is important.
|
11
11
|
BUILDERS = [
|
12
12
|
Builders::Core,
|
13
|
+
Builders::Refinement,
|
14
|
+
Builders::Stylesheet,
|
13
15
|
Builders::Slices::Main,
|
16
|
+
Builders::Slices::Health,
|
14
17
|
Rubysmith::Builders::Version,
|
15
18
|
Builders::Documentation::Readme,
|
16
19
|
Rubysmith::Builders::Documentation::Citation,
|
@@ -35,7 +38,8 @@ module Hanamismith
|
|
35
38
|
Builders::RSpec::Factory,
|
36
39
|
Builders::RSpec::Helper,
|
37
40
|
Builders::RSpec::Hanami,
|
38
|
-
Builders::Rack,
|
41
|
+
Builders::Rack::Config,
|
42
|
+
Builders::Rack::Attack,
|
39
43
|
Builders::Puma::Configuration,
|
40
44
|
Builders::Puma::Procfile,
|
41
45
|
Builders::Caliber,
|
@@ -4,5 +4,8 @@ require "hanami"
|
|
4
4
|
# Handles HTTP requests.
|
5
5
|
class App < Hanami::App
|
6
6
|
config.actions.content_security_policy[:script_src] = "https://unpkg.com"
|
7
|
+
|
8
|
+
config.middleware.use Rack::Deflater
|
9
|
+
config.middleware.use Rack::Static, {urls: %w[/stylesheets javascript], root: "public"}
|
7
10
|
end
|
8
11
|
<% end %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Hanami.app.register_provider :rack_attack do
|
2
|
+
prepare { require "rack/attack" }
|
3
|
+
|
4
|
+
start do
|
5
|
+
Rack::Attack.safelist "allow from localhost" do |request|
|
6
|
+
%w[127.0.0.1 ::1].include? request.ip
|
7
|
+
end
|
8
|
+
|
9
|
+
Rack::Attack.throttle("requests by IP", limit: 100, period: 60, &:ip)
|
10
|
+
end
|
11
|
+
end
|
data/lib/hanamismith/templates/%project_name%/lib/%project_path%/refinements/actions/response.rb.erb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
<% namespace do %>
|
2
|
+
module Refinements
|
3
|
+
module Actions
|
4
|
+
# Modifies and enhances default Hanami action response behavior.
|
5
|
+
module Response
|
6
|
+
refine Hanami::Action::Response do
|
7
|
+
def with body:, status:
|
8
|
+
@body = [body]
|
9
|
+
@status = status
|
10
|
+
self
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
<% end %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Health
|
2
|
+
module Actions
|
3
|
+
# The show action.
|
4
|
+
class Show < <%= configuration.project_namespaced_class %>::Action
|
5
|
+
using <%= configuration.project_namespaced_class %>::Refinements::Actions::Response
|
6
|
+
|
7
|
+
handle_exception Exception => :down
|
8
|
+
|
9
|
+
def handle(*, response) = response.with body: body(:green), status: 200
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def down(*, response, _exception) = response.with body: body(:red), status: 503
|
14
|
+
|
15
|
+
def body(color) = %(<html><body style="background-color: #{color}"></body></html>)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/hanamismith/templates/%project_name%/slices/main/templates/layouts/app.html.erb.erb
CHANGED
@@ -4,29 +4,15 @@
|
|
4
4
|
<title><%= configuration.project_label %></title>
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
6
|
|
7
|
-
<
|
8
|
-
:root {
|
9
|
-
--site-font-family: Verdana;
|
10
|
-
--site-color-black: hsl(0, 0%, 0%);
|
11
|
-
--site-color-white: hsl(0, 0%, 100%);
|
12
|
-
}
|
7
|
+
<link title="<%= configuration.project_label %> - Stylesheet" rel="stylesheet" href="/stylesheets/site.css" type="text/css">
|
13
8
|
|
14
|
-
|
15
|
-
align-items: center;
|
16
|
-
display: flex;
|
17
|
-
flex-direction: column;
|
18
|
-
font-family: var(--site-font-family);
|
19
|
-
margin: 1rem 5rem;
|
20
|
-
}
|
21
|
-
</style>
|
22
|
-
|
23
|
-
<script src="https://unpkg.com/htmx.org@1.8.4/dist/htmx.min.js"
|
9
|
+
<script src="https://unpkg.com/htmx.org@1.8.5"
|
24
10
|
crossorigin="anonymous"
|
25
|
-
integrity="sha384-
|
11
|
+
integrity="sha384-7aHh9lqPYGYZ7sTHvzP1t3BAfLhYSTy9ArHdP3Xsr9/3TlGurYgcPBoFmXX2TX/w">
|
26
12
|
</script>
|
27
13
|
</head>
|
28
14
|
|
29
|
-
<body>
|
15
|
+
<body class="page">
|
30
16
|
<!-- yield -->
|
31
17
|
</body>
|
32
18
|
</html>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require "hanami_helper"
|
2
|
+
|
3
|
+
RSpec.describe <%= configuration.project_namespaced_class %>::Refinements::Actions::Response do
|
4
|
+
using described_class
|
5
|
+
|
6
|
+
subject(:response) { Hanami::Action::Response.new request:, config: {} }
|
7
|
+
|
8
|
+
let :request do
|
9
|
+
Rack::MockRequest.env_for("/").then { |env| Hanami::Action::Request.new env:, params: {} }
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#with" do
|
13
|
+
it "answers response with given body and status" do
|
14
|
+
expect(response.with(body: "Danger!", status: 400)).to have_attributes(
|
15
|
+
body: ["Danger!"],
|
16
|
+
status: 400
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "answers itself" do
|
21
|
+
expect(response.with(body: "Danger!", status: 400)).to be_a(Hanami::Action::Response)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "hanami_helper"
|
2
|
+
|
3
|
+
RSpec.describe Health::Actions::Show do
|
4
|
+
subject(:action) { described_class.new }
|
5
|
+
|
6
|
+
describe "#call" do
|
7
|
+
it "answers 200 OK status with green background" do
|
8
|
+
expect(action.call({})).to have_attributes(
|
9
|
+
body: [%(<html><body style="background-color: green"></body></html>)],
|
10
|
+
status: 200
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
��j5芖d,�%��>�<�$�{�X`�j���郓���mj�K�7ty#�@���
|
2
|
+
��
|
3
|
+
��O����3�!�������%��b�%�T7��E�J��l�
|
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.2.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-01-
|
31
|
+
date: 2023-01-22 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: cogger
|
@@ -134,14 +134,14 @@ dependencies:
|
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '4.
|
137
|
+
version: '4.4'
|
138
138
|
type: :runtime
|
139
139
|
prerelease: false
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '4.
|
144
|
+
version: '4.4'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
146
|
name: runcom
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -211,14 +211,18 @@ files:
|
|
211
211
|
- lib/hanamismith/builders/guard.rb
|
212
212
|
- lib/hanamismith/builders/puma/configuration.rb
|
213
213
|
- lib/hanamismith/builders/puma/procfile.rb
|
214
|
-
- lib/hanamismith/builders/rack.rb
|
214
|
+
- lib/hanamismith/builders/rack/attack.rb
|
215
|
+
- lib/hanamismith/builders/rack/config.rb
|
215
216
|
- lib/hanamismith/builders/rake.rb
|
217
|
+
- lib/hanamismith/builders/refinement.rb
|
216
218
|
- lib/hanamismith/builders/rspec/application_shared_context.rb
|
217
219
|
- lib/hanamismith/builders/rspec/database.rb
|
218
220
|
- lib/hanamismith/builders/rspec/factory.rb
|
219
221
|
- lib/hanamismith/builders/rspec/hanami.rb
|
220
222
|
- lib/hanamismith/builders/rspec/helper.rb
|
223
|
+
- lib/hanamismith/builders/slices/health.rb
|
221
224
|
- lib/hanamismith/builders/slices/main.rb
|
225
|
+
- lib/hanamismith/builders/stylesheet.rb
|
222
226
|
- lib/hanamismith/cli/actions/build.rb
|
223
227
|
- lib/hanamismith/cli/actions/config.rb
|
224
228
|
- lib/hanamismith/cli/actions/container.rb
|
@@ -235,26 +239,32 @@ files:
|
|
235
239
|
- lib/hanamismith/templates/%project_name%/Procfile.dev.erb
|
236
240
|
- lib/hanamismith/templates/%project_name%/Procfile.erb
|
237
241
|
- lib/hanamismith/templates/%project_name%/app/action.rb.erb
|
238
|
-
- lib/hanamismith/templates/%project_name%/app/
|
242
|
+
- lib/hanamismith/templates/%project_name%/app/repository.rb.erb
|
239
243
|
- lib/hanamismith/templates/%project_name%/app/view.rb.erb
|
240
244
|
- lib/hanamismith/templates/%project_name%/bin/hanami.erb
|
241
245
|
- lib/hanamismith/templates/%project_name%/config.ru.erb
|
242
246
|
- lib/hanamismith/templates/%project_name%/config/app.rb.erb
|
243
247
|
- lib/hanamismith/templates/%project_name%/config/providers/persistence.rb.erb
|
248
|
+
- lib/hanamismith/templates/%project_name%/config/providers/rack_attack.rb.erb
|
244
249
|
- lib/hanamismith/templates/%project_name%/config/puma.rb.erb
|
245
250
|
- lib/hanamismith/templates/%project_name%/config/routes.rb.erb
|
246
251
|
- lib/hanamismith/templates/%project_name%/config/settings.rb.erb
|
247
252
|
- lib/hanamismith/templates/%project_name%/env.development.erb
|
248
253
|
- lib/hanamismith/templates/%project_name%/env.test.erb
|
254
|
+
- lib/hanamismith/templates/%project_name%/lib/%project_path%/refinements/actions/response.rb.erb
|
249
255
|
- lib/hanamismith/templates/%project_name%/lib/%project_path%/types.rb.erb
|
256
|
+
- lib/hanamismith/templates/%project_name%/public/stylesheets/site.css.erb
|
257
|
+
- lib/hanamismith/templates/%project_name%/slices/health/actions/show.rb.erb
|
250
258
|
- lib/hanamismith/templates/%project_name%/slices/main/action.rb.erb
|
251
259
|
- lib/hanamismith/templates/%project_name%/slices/main/actions/home/show.rb.erb
|
252
|
-
- lib/hanamismith/templates/%project_name%/slices/main/
|
260
|
+
- lib/hanamismith/templates/%project_name%/slices/main/repository.rb.erb
|
253
261
|
- lib/hanamismith/templates/%project_name%/slices/main/templates/home/show.html.erb.erb
|
254
262
|
- lib/hanamismith/templates/%project_name%/slices/main/templates/layouts/app.html.erb.erb
|
255
263
|
- lib/hanamismith/templates/%project_name%/slices/main/view.rb.erb
|
256
264
|
- lib/hanamismith/templates/%project_name%/slices/main/views/home/show.rb.erb
|
257
265
|
- lib/hanamismith/templates/%project_name%/spec/hanami_helper.rb.erb
|
266
|
+
- lib/hanamismith/templates/%project_name%/spec/lib/%project_path%/refinements/actions/response_spec.rb.erb
|
267
|
+
- lib/hanamismith/templates/%project_name%/spec/slices/health/actions/show_spec.rb.erb
|
258
268
|
- lib/hanamismith/templates/%project_name%/spec/support/database.rb.erb
|
259
269
|
- lib/hanamismith/templates/%project_name%/spec/support/factory.rb.erb
|
260
270
|
- lib/hanamismith/templates/%project_name%/spec/support/shared_contexts/application.rb.erb
|
metadata.gz.sig
CHANGED
Binary file
|