hanamismith 0.38.0 → 0.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.adoc +2 -2
  4. data/hanamismith.gemspec +8 -8
  5. data/lib/hanamismith/builders/asset.rb +2 -2
  6. data/lib/hanamismith/builders/binstub.rb +2 -2
  7. data/lib/hanamismith/builders/bundler.rb +3 -3
  8. data/lib/hanamismith/builders/caliber.rb +3 -3
  9. data/lib/hanamismith/builders/circle_ci.rb +20 -0
  10. data/lib/hanamismith/builders/console.rb +4 -4
  11. data/lib/hanamismith/builders/core.rb +11 -14
  12. data/lib/hanamismith/builders/documentation/readme.rb +3 -3
  13. data/lib/hanamismith/builders/environments/development.rb +2 -2
  14. data/lib/hanamismith/builders/environments/test.rb +2 -2
  15. data/lib/hanamismith/builders/git/ignore.rb +3 -3
  16. data/lib/hanamismith/builders/{ci/git_hub.rb → git_hub/ci.rb} +5 -5
  17. data/lib/hanamismith/builders/guard.rb +3 -3
  18. data/lib/hanamismith/builders/icon.rb +2 -2
  19. data/lib/hanamismith/builders/javascript.rb +2 -2
  20. data/lib/hanamismith/builders/node.rb +3 -3
  21. data/lib/hanamismith/builders/providers/persistence.rb +2 -2
  22. data/lib/hanamismith/builders/providers/yjit.rb +2 -2
  23. data/lib/hanamismith/builders/puma/configuration.rb +2 -3
  24. data/lib/hanamismith/builders/puma/procfile.rb +3 -3
  25. data/lib/hanamismith/builders/pwa.rb +2 -2
  26. data/lib/hanamismith/builders/rack/attack.rb +3 -3
  27. data/lib/hanamismith/builders/rack/configuration.rb +2 -2
  28. data/lib/hanamismith/builders/rack/deflater.rb +2 -2
  29. data/lib/hanamismith/builders/rake/configuration.rb +25 -0
  30. data/lib/hanamismith/builders/refinement.rb +2 -2
  31. data/lib/hanamismith/builders/rspec/application_shared_context.rb +3 -3
  32. data/lib/hanamismith/builders/rspec/database.rb +3 -3
  33. data/lib/hanamismith/builders/rspec/factory.rb +3 -3
  34. data/lib/hanamismith/builders/rspec/hanami.rb +3 -3
  35. data/lib/hanamismith/builders/rspec/helper.rb +4 -4
  36. data/lib/hanamismith/builders/setup.rb +3 -3
  37. data/lib/hanamismith/builders/slices/health.rb +12 -12
  38. data/lib/hanamismith/builders/slices/home.rb +15 -15
  39. data/lib/hanamismith/builders/stylesheet.rb +2 -2
  40. data/lib/hanamismith/cli/commands/build.rb +37 -35
  41. data/lib/hanamismith/container.rb +31 -21
  42. data/lib/hanamismith/extensions/asset.rb +3 -12
  43. data/lib/hanamismith/extensions/npm.rb +3 -12
  44. data/lib/hanamismith/templates/%project_name%/.circleci/config.yml.erb +1 -1
  45. data/lib/hanamismith/templates/%project_name%/.github/workflows/ci.yml.erb +1 -1
  46. data/lib/hanamismith/templates/%project_name%/.node-version.erb +1 -1
  47. data/lib/hanamismith/templates/%project_name%/app/assets/pwa/manifest.webmanifest.erb +2 -2
  48. data/lib/hanamismith/templates/%project_name%/config/providers/persistence.rb.erb +2 -2
  49. data/lib/hanamismith/templates/%project_name%/env.development.erb +1 -1
  50. data/lib/hanamismith/templates/%project_name%/env.test.erb +1 -1
  51. data/lib/hanamismith/templates/%project_name%/package.json.erb +4 -4
  52. data/lib/hanamismith/templates/%project_name%/slices/health/action.rb.erb +1 -1
  53. data/lib/hanamismith/templates/%project_name%/slices/health/templates/layouts/app.html.erb.erb +2 -2
  54. data/lib/hanamismith/templates/%project_name%/slices/health/view.rb.erb +1 -1
  55. data/lib/hanamismith/templates/%project_name%/slices/home/action.rb.erb +1 -1
  56. data/lib/hanamismith/templates/%project_name%/slices/home/repository.rb.erb +1 -1
  57. data/lib/hanamismith/templates/%project_name%/slices/home/templates/layouts/app.html.erb.erb +2 -2
  58. data/lib/hanamismith/templates/%project_name%/slices/home/templates/show.html.erb.erb +1 -1
  59. data/lib/hanamismith/templates/%project_name%/slices/home/view.rb.erb +1 -1
  60. data/lib/hanamismith/templates/%project_name%/spec/features/home_spec.rb.erb +1 -1
  61. data/lib/hanamismith/templates/%project_name%/spec/lib/%project_path%/refines/actions/response_spec.rb.erb +1 -1
  62. data/lib/hanamismith.rb +1 -0
  63. data.tar.gz.sig +0 -0
  64. metadata +20 -20
  65. metadata.gz.sig +0 -0
  66. data/lib/hanamismith/builders/ci/circle.rb +0 -22
  67. data/lib/hanamismith/builders/rake.rb +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e91dba4f6b6310b71b989fed09f164126571b5c3ad463e3b187746d5289c77df
4
- data.tar.gz: 2808a57655d74e79e7fda3f55dbdad245b4e83c5a19098e991b1eed9e54f493c
3
+ metadata.gz: 55f5e7cc19bb9183ec19d8055a391210769bbd8eed6cd34016e4be9a1cf1b8d3
4
+ data.tar.gz: 28f40f1c4f3b8a5225c55873262307cff37382f6e3df66e319cd5c020ebafa42
5
5
  SHA512:
6
- metadata.gz: '0796852842f267f82ee1ce4f3fbec85a5fb9ea172364924fa35aa9eff0c9a9d8c37df18a182ef47f8bca6407d6606e92e2d31803820d2fad8f3ebf8a374d4bda'
7
- data.tar.gz: 5df7a4934061e1e444d2b10e4872d4830dece7a878f75c00f19db29e929c5c88bf7d21f71012729e5d4b539d5b000a6641571f89fe15d370d3946cc074e2da00
6
+ metadata.gz: ce8433b6a457ab211339e54c0ebcf15015aa778931ef72abf68b19915733e5fae30d336685c53438c7e7e6de6f590aa21bc74a3b0510e7cf27a829df1cbc561f
7
+ data.tar.gz: 305276a7533e9541098a7a65d994aa362f80877f4cf21f2e4c40f828537b70566a4df7ed6894c3e7fe63087d960a4515cf5c75480ffc54d58ea42b0966727cb3
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -98,8 +98,8 @@ link:https://alchemists.io/projects/rubysmith/#_configuration[Rubysmith]. It is
98
98
 
99
99
  [source,yaml]
100
100
  ----
101
- :project:
102
- :url:
101
+ project:
102
+ url:
103
103
  # Add key/value pairs here.
104
104
  ----
105
105
 
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.38.0"
5
+ spec.version = "0.39.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/hanamismith"
@@ -24,16 +24,16 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.required_ruby_version = "~> 3.3"
26
26
  spec.add_dependency "cogger", "~> 0.21"
27
- spec.add_dependency "containable", "~> 0.0"
27
+ spec.add_dependency "containable", "~> 0.2"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "dry-schema", "~> 1.13"
30
- spec.add_dependency "etcher", "~> 1.6"
30
+ spec.add_dependency "etcher", "~> 2.1"
31
31
  spec.add_dependency "htmx", "~> 1.0"
32
- spec.add_dependency "infusible", "~> 3.5"
33
- spec.add_dependency "refinements", "~> 12.1"
34
- spec.add_dependency "rubysmith", "~> 6.10"
35
- spec.add_dependency "runcom", "~> 11.0"
36
- spec.add_dependency "sod", "~> 0.8"
32
+ spec.add_dependency "infusible", "~> 3.8"
33
+ spec.add_dependency "refinements", "~> 12.5"
34
+ spec.add_dependency "rubysmith", "~> 7.0"
35
+ spec.add_dependency "runcom", "~> 11.5"
36
+ spec.add_dependency "sod", "~> 0.12"
37
37
  spec.add_dependency "spek", "~> 3.0"
38
38
  spec.add_dependency "zeitwerk", "~> 2.6"
39
39
 
@@ -10,8 +10,8 @@ module Hanamismith
10
10
 
11
11
  def call
12
12
  path = "%project_name%/config/assets.js.erb"
13
- builder.call(configuration.merge(template_path: path)).render
14
- configuration
13
+ builder.call(settings.merge(template_path: path)).render
14
+ true
15
15
  end
16
16
  end
17
17
  end
@@ -9,11 +9,11 @@ module Hanamismith
9
9
  using Refinements::Struct
10
10
 
11
11
  def call
12
- builder.call(configuration.merge(template_path: "%project_name%/bin/hanami.erb"))
12
+ builder.call(settings.merge(template_path: "%project_name%/bin/hanami.erb"))
13
13
  .render
14
14
  .permit 0o755
15
15
 
16
- configuration
16
+ true
17
17
  end
18
18
  end
19
19
  end
@@ -16,13 +16,13 @@ module Hanamismith
16
16
  end
17
17
 
18
18
  remove_zeitwerk
19
- configuration
19
+ true
20
20
  end
21
21
 
22
22
  private
23
23
 
24
24
  def insert_groups
25
- return unless configuration.build_minimum
25
+ return unless settings.build_minimum
26
26
 
27
27
  with_template.append <<~CONTENT
28
28
  group :development do
@@ -103,7 +103,7 @@ module Hanamismith
103
103
  def remove_zeitwerk = with_template.replace(/.+zeitwerk.+\n\n/, "\n")
104
104
 
105
105
  def with_template
106
- builder.call configuration.merge(template_path: "%project_name%/Gemfile.erb")
106
+ builder.call settings.merge(template_path: "%project_name%/Gemfile.erb")
107
107
  end
108
108
  end
109
109
  end
@@ -9,14 +9,14 @@ module Hanamismith
9
9
  using Refinements::Struct
10
10
 
11
11
  def call
12
- return configuration unless configuration.build_caliber
12
+ return false unless settings.build_caliber
13
13
 
14
14
  super
15
15
  path = "%project_name%/.config/rubocop/config.yml.erb"
16
- builder.call(configuration.merge(template_path: path))
16
+ builder.call(settings.merge(template_path: path))
17
17
  .append("\nrequire: rubocop-sequel\n")
18
18
 
19
- configuration
19
+ true
20
20
  end
21
21
  end
22
22
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/struct"
4
+
5
+ module Hanamismith
6
+ module Builders
7
+ # Builds project skeleton Circle CI configuration.
8
+ class CircleCI < Rubysmith::Builders::Abstract
9
+ using Refinements::Struct
10
+
11
+ def call
12
+ return false unless settings.build_circle_ci
13
+
14
+ path = "%project_name%/.circleci/config.yml.erb"
15
+ builder.call(settings.merge(template_path: path)).render.replace(/\n\n\Z/, "\n")
16
+ true
17
+ end
18
+ end
19
+ end
20
+ end
@@ -9,15 +9,15 @@ module Hanamismith
9
9
  using Refinements::Struct
10
10
 
11
11
  def call
12
- return configuration unless configuration.build_console
12
+ return false unless settings.build_console
13
13
 
14
14
  super
15
- builder.call(configuration.merge(template_path: "%project_name%/bin/console.erb"))
15
+ builder.call(settings.merge(template_path: "%project_name%/bin/console.erb"))
16
16
  .replace(/require Bundler.root.+/, %(require "hanami/prepare"))
17
17
 
18
18
  add_irb_autocomplete
19
19
 
20
- configuration
20
+ true
21
21
  end
22
22
 
23
23
  private
@@ -33,7 +33,7 @@ module Hanamismith
33
33
  end
34
34
 
35
35
  def with_template
36
- builder.call configuration.merge(template_path: "%project_name%/bin/console.erb")
36
+ builder.call settings.merge(template_path: "%project_name%/bin/console.erb")
37
37
  end
38
38
  end
39
39
  end
@@ -10,56 +10,53 @@ module Hanamismith
10
10
 
11
11
  def call
12
12
  private_methods.grep(/\Aadd_/).sort.each { |method| __send__ method }
13
- configuration
13
+ true
14
14
  end
15
15
 
16
16
  private
17
17
 
18
18
  def add_action
19
- builder.call(configuration.merge(template_path: "%project_name%/app/action.rb.erb")).render
19
+ builder.call(settings.merge(template_path: "%project_name%/app/action.rb.erb")).render
20
20
  end
21
21
 
22
22
  def add_repository
23
- builder.call(configuration.merge(template_path: "%project_name%/app/repository.rb.erb"))
24
- .render
23
+ builder.call(settings.merge(template_path: "%project_name%/app/repository.rb.erb")).render
25
24
  end
26
25
 
27
26
  def add_view
28
- builder.call(configuration.merge(template_path: "%project_name%/app/view.rb.erb")).render
27
+ builder.call(settings.merge(template_path: "%project_name%/app/view.rb.erb")).render
29
28
  end
30
29
 
31
30
  def add_application_configuration
32
- builder.call(configuration.merge(template_path: "%project_name%/config/app.rb.erb")).render
31
+ builder.call(settings.merge(template_path: "%project_name%/config/app.rb.erb")).render
33
32
  end
34
33
 
35
34
  def add_routes_configuration
36
- builder.call(configuration.merge(template_path: "%project_name%/config/routes.rb.erb"))
37
- .render
35
+ builder.call(settings.merge(template_path: "%project_name%/config/routes.rb.erb")).render
38
36
  end
39
37
 
40
38
  def add_settings_configuration
41
- builder.call(configuration.merge(template_path: "%project_name%/config/settings.rb.erb"))
42
- .render
39
+ builder.call(settings.merge(template_path: "%project_name%/config/settings.rb.erb")).render
43
40
  end
44
41
 
45
42
  def add_types
46
43
  path = "%project_name%/lib/%project_path%/types.rb.erb"
47
- builder.call(configuration.merge(template_path: path)).render
44
+ builder.call(settings.merge(template_path: path)).render
48
45
  end
49
46
 
50
47
  def add_migrate_directory
51
- builder.call(configuration.merge(template_path: "%project_name%/db/migrate")).make_path
48
+ builder.call(settings.merge(template_path: "%project_name%/db/migrate")).make_path
52
49
  end
53
50
 
54
51
  def add_public_http_errors
55
52
  %w[404 500].each do |code|
56
53
  path = "%project_name%/public/#{code}.html.erb"
57
- builder.call(configuration.merge(template_path: path)).render
54
+ builder.call(settings.merge(template_path: path)).render
58
55
  end
59
56
  end
60
57
 
61
58
  def add_temp_directory
62
- builder.call(configuration.merge(template_path: "%project_name%/tmp")).make_path
59
+ builder.call(settings.merge(template_path: "%project_name%/tmp")).make_path
63
60
  end
64
61
  end
65
62
  end
@@ -10,14 +10,14 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_readme
13
+ return false unless settings.build_readme
14
14
 
15
15
  super
16
- builder.call(configuration.merge(template_path: "%project_name%/README.#{kind}.erb"))
16
+ builder.call(settings.merge(template_path: "%project_name%/README.#{kind}.erb"))
17
17
  .replace("Rubysmith", "Hanamismith")
18
18
  .replace("rubysmith", "hanamismith")
19
19
 
20
- configuration
20
+ true
21
21
  end
22
22
  end
23
23
  end
@@ -10,11 +10,11 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- builder.call(configuration.merge(template_path: "%project_name%/env.development.erb"))
13
+ builder.call(settings.merge(template_path: "%project_name%/env.development.erb"))
14
14
  .render
15
15
  .rename(".env.development")
16
16
 
17
- configuration
17
+ true
18
18
  end
19
19
  end
20
20
  end
@@ -10,11 +10,11 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- builder.call(configuration.merge(template_path: "%project_name%/env.test.erb"))
13
+ builder.call(settings.merge(template_path: "%project_name%/env.test.erb"))
14
14
  .render
15
15
  .rename(".env.test")
16
16
 
17
- configuration
17
+ true
18
18
  end
19
19
  end
20
20
  end
@@ -10,17 +10,17 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_git
13
+ return false unless settings.build_git
14
14
 
15
15
  super
16
- builder.call(configuration.merge(template_path: "%project_name%/.gitignore.erb"))
16
+ builder.call(settings.merge(template_path: "%project_name%/.gitignore.erb"))
17
17
  .insert_before "tmp\n", <<~CONTENT
18
18
  node_modules
19
19
  public/assets
20
20
  public/assets.json
21
21
  CONTENT
22
22
 
23
- configuration
23
+ true
24
24
  end
25
25
  end
26
26
  end
@@ -4,17 +4,17 @@ require "refinements/struct"
4
4
 
5
5
  module Hanamismith
6
6
  module Builders
7
- module CI
7
+ module GitHub
8
8
  # Builds project skeleton GitHub CI configuration.
9
- class GitHub < Rubysmith::Builders::Abstract
9
+ class CI < Rubysmith::Builders::Abstract
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_git_hub_ci
13
+ return false unless settings.build_git_hub_ci
14
14
 
15
15
  path = "%project_name%/.github/workflows/ci.yml.erb"
16
- builder.call(configuration.merge(template_path: path)).render.replace(/\n\n\Z/, "\n")
17
- configuration
16
+ builder.call(settings.merge(template_path: path)).render.replace(/\n\n\Z/, "\n")
17
+ true
18
18
  end
19
19
  end
20
20
  end
@@ -9,11 +9,11 @@ module Hanamismith
9
9
  using Refinements::Struct
10
10
 
11
11
  def call
12
- return configuration unless configuration.build_guard
12
+ return false unless settings.build_guard
13
13
 
14
14
  super
15
- builder.call(configuration.merge(template_path: "%project_name%/Guardfile.erb")).render
16
- configuration
15
+ builder.call(settings.merge(template_path: "%project_name%/Guardfile.erb")).render
16
+ true
17
17
  end
18
18
  end
19
19
  end
@@ -10,8 +10,8 @@ module Hanamismith
10
10
 
11
11
  def call
12
12
  path = "%project_name%/app/assets/images/icon.svg.erb"
13
- builder.call(configuration.merge(template_path: path)).render
14
- configuration
13
+ builder.call(settings.merge(template_path: path)).render
14
+ true
15
15
  end
16
16
  end
17
17
  end
@@ -10,8 +10,8 @@ module Hanamismith
10
10
 
11
11
  def call
12
12
  path = "%project_name%/slices/home/assets/js/app.js.erb"
13
- builder.call(configuration.merge(template_path: path)).render
14
- configuration
13
+ builder.call(settings.merge(template_path: path)).render
14
+ true
15
15
  end
16
16
  end
17
17
  end
@@ -9,9 +9,9 @@ module Hanamismith
9
9
  using Refinements::Struct
10
10
 
11
11
  def call
12
- builder.call(configuration.merge(template_path: "%project_name%/package.json.erb")).render
13
- builder.call(configuration.merge(template_path: "%project_name%/.node-version.erb")).render
14
- configuration
12
+ builder.call(settings.merge(template_path: "%project_name%/package.json.erb")).render
13
+ builder.call(settings.merge(template_path: "%project_name%/.node-version.erb")).render
14
+ true
15
15
  end
16
16
  end
17
17
  end
@@ -11,8 +11,8 @@ module Hanamismith
11
11
 
12
12
  def call
13
13
  path = "%project_name%/config/providers/persistence.rb.erb"
14
- builder.call(configuration.merge(template_path: path)).render
15
- configuration
14
+ builder.call(settings.merge(template_path: path)).render
15
+ true
16
16
  end
17
17
  end
18
18
  end
@@ -11,8 +11,8 @@ module Hanamismith
11
11
 
12
12
  def call
13
13
  path = "%project_name%/config/providers/yjit.rb.erb"
14
- builder.call(configuration.merge(template_path: path)).render
15
- configuration
14
+ builder.call(settings.merge(template_path: path)).render
15
+ true
16
16
  end
17
17
  end
18
18
  end
@@ -10,10 +10,9 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- builder.call(configuration.merge(template_path: "%project_name%/config/puma.rb.erb"))
14
- .render
13
+ builder.call(settings.merge(template_path: "%project_name%/config/puma.rb.erb")).render
15
14
 
16
- configuration
15
+ true
17
16
  end
18
17
  end
19
18
  end
@@ -10,9 +10,9 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- builder.call(configuration.merge(template_path: "%project_name%/Procfile.erb")).render
14
- builder.call(configuration.merge(template_path: "%project_name%/Procfile.dev.erb")).render
15
- configuration
13
+ builder.call(settings.merge(template_path: "%project_name%/Procfile.erb")).render
14
+ builder.call(settings.merge(template_path: "%project_name%/Procfile.dev.erb")).render
15
+ true
16
16
  end
17
17
  end
18
18
  end
@@ -10,8 +10,8 @@ module Hanamismith
10
10
 
11
11
  def call
12
12
  path = "%project_name%/app/assets/pwa/manifest.webmanifest.erb"
13
- builder.call(configuration.merge(template_path: path)).render
14
- configuration
13
+ builder.call(settings.merge(template_path: path)).render
14
+ true
15
15
  end
16
16
  end
17
17
  end
@@ -12,18 +12,18 @@ module Hanamismith
12
12
  def call
13
13
  add_configuration
14
14
  add_middleware
15
- configuration
15
+ true
16
16
  end
17
17
 
18
18
  private
19
19
 
20
20
  def add_configuration
21
21
  template_path = "%project_name%/config/initializers/rack_attack.rb.erb"
22
- builder.call(configuration.merge(template_path:)).render
22
+ builder.call(settings.merge(template_path:)).render
23
23
  end
24
24
 
25
25
  def add_middleware
26
- builder.call(configuration.merge(template_path: "%project_name%/config/app.rb.erb"))
26
+ builder.call(settings.merge(template_path: "%project_name%/config/app.rb.erb"))
27
27
  .insert_after(/require/, %(\nrequire_relative "initializers/rack_attack"\n))
28
28
  .insert_before(/environment/, " config.middleware.use Rack::Attack\n\n")
29
29
  end
@@ -10,8 +10,8 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- builder.call(configuration.merge(template_path: "%project_name%/config.ru.erb")).render
14
- configuration
13
+ builder.call(settings.merge(template_path: "%project_name%/config.ru.erb")).render
14
+ true
15
15
  end
16
16
  end
17
17
  end
@@ -10,10 +10,10 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- builder.call(configuration.merge(template_path: "%project_name%/config/app.rb.erb"))
13
+ builder.call(settings.merge(template_path: "%project_name%/config/app.rb.erb"))
14
14
  .insert_after(/Rack::Attack/, " config.middleware.use Rack::Deflater\n")
15
15
 
16
- configuration
16
+ true
17
17
  end
18
18
  end
19
19
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/struct"
4
+
5
+ module Hanamismith
6
+ module Builders
7
+ module Rake
8
+ # Builds project skeleton Rake configuration file.
9
+ class Configuration < Rubysmith::Builders::Rake::Configuration
10
+ using Refinements::Struct
11
+
12
+ def call
13
+ return false unless settings.build_rake
14
+
15
+ super
16
+ builder.call(settings.merge(template_path: "%project_name%/Rakefile.erb"))
17
+ .render
18
+ .insert_after(%r(bundler/setup), %(require "hanami/rake_tasks"))
19
+
20
+ true
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -13,10 +13,10 @@ module Hanamismith
13
13
  %project_name%/lib/%project_path%/refines/actions/response.rb.erb
14
14
  %project_name%/spec/lib/%project_path%/refines/actions/response_spec.rb.erb
15
15
  ].each do |path|
16
- builder.call(configuration.merge(template_path: path)).render
16
+ builder.call(settings.merge(template_path: path)).render
17
17
  end
18
18
 
19
- configuration
19
+ true
20
20
  end
21
21
  end
22
22
  end
@@ -10,12 +10,12 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_rspec
13
+ return false unless settings.build_rspec
14
14
 
15
15
  path = "%project_name%/spec/support/shared_contexts/application.rb.erb"
16
- builder.call(configuration.merge(template_path: path)).render
16
+ builder.call(settings.merge(template_path: path)).render
17
17
 
18
- configuration
18
+ true
19
19
  end
20
20
  end
21
21
  end
@@ -10,12 +10,12 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_rspec
13
+ return false unless settings.build_rspec
14
14
 
15
15
  path = "%project_name%/spec/support/database.rb.erb"
16
- builder.call(configuration.merge(template_path: path)).render
16
+ builder.call(settings.merge(template_path: path)).render
17
17
 
18
- configuration
18
+ true
19
19
  end
20
20
  end
21
21
  end
@@ -10,12 +10,12 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_rspec
13
+ return false unless settings.build_rspec
14
14
 
15
15
  path = "%project_name%/spec/support/factory.rb.erb"
16
- builder.call(configuration.merge(template_path: path)).render
16
+ builder.call(settings.merge(template_path: path)).render
17
17
 
18
- configuration
18
+ true
19
19
  end
20
20
  end
21
21
  end
@@ -10,12 +10,12 @@ module Hanamismith
10
10
  using Refinements::Struct
11
11
 
12
12
  def call
13
- return configuration unless configuration.build_rspec
13
+ return false unless settings.build_rspec
14
14
 
15
15
  path = "%project_name%/spec/hanami_helper.rb.erb"
16
- builder.call(configuration.merge(template_path: path)).render
16
+ builder.call(settings.merge(template_path: path)).render
17
17
 
18
- configuration
18
+ true
19
19
  end
20
20
  end
21
21
  end