hanamismith 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|