hanamismith 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.adoc +12 -2
  4. data/hanamismith.gemspec +2 -2
  5. data/lib/hanamismith/builders/bundler.rb +2 -0
  6. data/lib/hanamismith/builders/core.rb +5 -4
  7. data/lib/hanamismith/builders/rack/attack.rb +32 -0
  8. data/lib/hanamismith/builders/rack/config.rb +30 -0
  9. data/lib/hanamismith/builders/refinement.rb +34 -0
  10. data/lib/hanamismith/builders/slices/health.rb +39 -0
  11. data/lib/hanamismith/builders/slices/main.rb +1 -1
  12. data/lib/hanamismith/builders/{rack.rb → stylesheet.rb} +4 -3
  13. data/lib/hanamismith/cli/actions/build.rb +5 -1
  14. data/lib/hanamismith/templates/%project_name%/Guardfile.erb +1 -1
  15. data/lib/hanamismith/templates/%project_name%/app/{repo.rb.erb → repository.rb.erb} +1 -1
  16. data/lib/hanamismith/templates/%project_name%/config/app.rb.erb +3 -0
  17. data/lib/hanamismith/templates/%project_name%/config/providers/rack_attack.rb.erb +11 -0
  18. data/lib/hanamismith/templates/%project_name%/config/routes.rb.erb +2 -3
  19. data/lib/hanamismith/templates/%project_name%/config.ru.erb +3 -1
  20. data/lib/hanamismith/templates/%project_name%/lib/%project_path%/refinements/actions/response.rb.erb +16 -0
  21. data/lib/hanamismith/templates/%project_name%/public/stylesheets/site.css.erb +11 -0
  22. data/lib/hanamismith/templates/%project_name%/slices/health/actions/show.rb.erb +18 -0
  23. data/lib/hanamismith/templates/%project_name%/slices/main/repository.rb.erb +7 -0
  24. data/lib/hanamismith/templates/%project_name%/slices/main/templates/layouts/app.html.erb.erb +4 -18
  25. data/lib/hanamismith/templates/%project_name%/spec/lib/%project_path%/refinements/actions/response_spec.rb.erb +24 -0
  26. data/lib/hanamismith/templates/%project_name%/spec/slices/health/actions/show_spec.rb.erb +14 -0
  27. data.tar.gz.sig +3 -2
  28. metadata +17 -7
  29. metadata.gz.sig +0 -0
  30. 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: 95bcf45f1ad28134657402afeab54487757c5269166ee13cbddd23571cf749ca
4
- data.tar.gz: ed18cbcf1ea054fb8cc7794590cd89006738f8ea08495e7a26e1ff7c146c3531
3
+ metadata.gz: cf1e7802201b63905939929ff7014adcd106767ffdb951e2a8a312ec6abfeb2a
4
+ data.tar.gz: 8720f041a7d69d3eed3307f156941a0e444a952c711169decc588b4e6612ece4
5
5
  SHA512:
6
- metadata.gz: 138d4fddb7fbbdeb608ca6f218b32006c851679197c36a63ceadcbb62954a88c5b05995dc7de2e24e06d80ea60b7c4c278d8db0c581038d478f4a67cb0fcff16
7
- data.tar.gz: 15b01e9c02efbe60f6f0aad5137a952040ad8edb9cdfd832f76508cb134dcd4405a9f60a3285c8c57b1619695f5566a6a2ce5ade60356715a98af990c80bb2f2
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
- bundle exec rake
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
- bundle exec rake
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.1.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.3"
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 add_application_action
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 add_application_repository
32
- builder.call(configuration.merge(template_path: "%project_name%/app/repo.rb.erb")).render
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 add_application_view
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
@@ -31,7 +31,7 @@ module Hanamismith
31
31
  end
32
32
 
33
33
  def add_repository
34
- path = "%project_name%/slices/main/repo.rb.erb"
34
+ path = "%project_name%/slices/main/repository.rb.erb"
35
35
  builder.call(configuration.merge(template_path: path)).render
36
36
  end
37
37
 
@@ -4,8 +4,8 @@ require "refinements/structs"
4
4
 
5
5
  module Hanamismith
6
6
  module Builders
7
- # Builds project skeleton Rack support.
8
- class Rack
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
- builder.call(configuration.merge(template_path: "%project_name%/config.ru.erb")).render
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,
@@ -1,4 +1,4 @@
1
- guard :rspec, cmd: "NO_COVERAGE=true bundle exec rspec --format documentation" do
1
+ guard :rspec, cmd: "NO_COVERAGE=true bin/rspec --format documentation" do
2
2
  require "guard/rspec/dsl"
3
3
 
4
4
  dsl = Guard::RSpec::Dsl.new self
@@ -4,7 +4,7 @@ require "rom-repository"
4
4
 
5
5
  <% namespace do %>
6
6
  # The application repository.
7
- class Repo < ROM::Repository::Root
7
+ class Repository < ROM::Repository::Root
8
8
  include Deps[container: "persistence.rom"]
9
9
  end
10
10
  <% end %>
@@ -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
@@ -1,8 +1,7 @@
1
1
  <% namespace do %>
2
2
  # Configures application routes.
3
3
  class Routes < Hanami::Routes
4
- slice :main, at: "/" do
5
- root to: "home.show"
6
- end
4
+ slice(:health, at: "/status") { root to: "show" }
5
+ slice(:main, at: "/") { root to: "home.show" }
7
6
  end
8
7
  <% end %>
@@ -1,4 +1,6 @@
1
1
  require "hanami/boot"
2
2
  Bundler.require :tools if Hanami.env? :development
3
3
 
4
- run Hanami.app
4
+ app = Rack::Builder.app { run Hanami.app }
5
+
6
+ run app
@@ -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,11 @@
1
+ :root {
2
+ --site-font-family: Verdana;
3
+ }
4
+
5
+ .page {
6
+ align-items: center;
7
+ display: flex;
8
+ flex-direction: column;
9
+ font-family: var(--site-font-family);
10
+ margin: 1rem 5rem;
11
+ }
@@ -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
@@ -0,0 +1,7 @@
1
+ # auto_register: false
2
+
3
+ module Main
4
+ # The main repository.
5
+ class Repository < <%= configuration.project_namespaced_class %>::Repository
6
+ end
7
+ end
@@ -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
- <style type="text/css">
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
- body {
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-wg5Y/JwF7VxGk4zLsJEcAojRtlVp1FKKdGy1qN+OMtdq72WRvX/EdRdqg/LOhYeV">
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
- uxvT�B�
2
- �h�!�6LV��IIJ!��1P?�͜��*m�;�'�=~�Ŭ"��
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.1.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-19 00:00:00.000000000 Z
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.3'
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.3'
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/repo.rb.erb
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/repo.rb.erb
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
@@ -1,7 +0,0 @@
1
- # auto_register: false
2
-
3
- module Main
4
- # The main repository.
5
- class Repo < <%= configuration.project_namespaced_class %>::Repo
6
- end
7
- end