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.
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