hanamismith 0.25.0 → 0.27.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c61e5aa7f51620521b2ebbfb561d27704d821a87848198afee40fa66985ca88f
4
- data.tar.gz: daf26bead7227eb20fca744908d7151ece6ba6ed082e6a6efbc19daa659ebc02
3
+ metadata.gz: 5d1969dbd817c75605a0b1e5fc6174048a8bafff8d531953106bb9c2178820cc
4
+ data.tar.gz: e21bca1261f7a94bca00ee717f97d9fb088373c8aa2968af815c80d0dbeb4ea2
5
5
  SHA512:
6
- metadata.gz: 86475dfa4e224dd1f14516fc03f99029f8155086963842d26014b8643b978405d33c6e58ddd4985af8b3b55636bddd440650f21df17612454f47a827c93df32d
7
- data.tar.gz: c14bab570764e52ab33f9202751f9f57869a5846d67362993c11795d3ff517f85bf5d3a2dfe93e1336f1444b8880dafaff4217006375ac7834cc625baf424f55
6
+ metadata.gz: 5894b869af2e0f574fd36eeae155e98664561c6f89dbbd21e9f78edf63be66d6f148122e182be66256209e3e23893dc84e3661a36b5f9b8c47bbe36404785fd5
7
+ data.tar.gz: 73aa3cb71e78748d458a7dde1d2b94a42d116c742ccf785dbeed54744053f0055eb4812718b5846c06bfac21ca39ac6894d313d4c63bf9cd0961bbc5bb23136b
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -39,6 +39,7 @@ toc::[]
39
39
  * Uses {dotenv_link} for managing your environment configurations.
40
40
  * Provides support for Continuous Integration systems like link:https://circleci.com[Circle CI] (default) and link:https://docs.github.com/en/actions[GitHub Actions].
41
41
  * Provides the `/up` health check endpoint via the `Health` slice.
42
+ * Uses link:https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md[YJIT] as a provider so you can deploy with YJIT disabled (i.e. `RUBYOPT=--yjit-disable --yjit-exec-mem-size=192`) and let the application enable upon boot.
42
43
  * Disables link:https://github.com/ruby/irb[IRB] console autocomplete when used in production-like environments. You can re-enable IRB autocomplete by setting `IRB_USE_AUTOCOMPLETE=true` before launching your console in non development or test environments.
43
44
 
44
45
  == Screenshots/Screencasts
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.25.0"
5
+ spec.version = "0.27.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/hanamismith"
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency "htmx", "~> 1.0"
32
32
  spec.add_dependency "infusible", "~> 3.0"
33
33
  spec.add_dependency "refinements", "~> 12.0"
34
- spec.add_dependency "rubysmith", "~> 6.0"
34
+ spec.add_dependency "rubysmith", "~> 6.2"
35
35
  spec.add_dependency "runcom", "~> 11.0"
36
36
  spec.add_dependency "sod", "~> 0.4"
37
37
  spec.add_dependency "spek", "~> 3.0"
@@ -15,8 +15,8 @@ module Hanamismith
15
15
  insert_main_dependencies
16
16
  insert_persistence_dependencies
17
17
  alter_groups
18
- append_development_group
19
- append_test_group
18
+ insert_development_group
19
+ insert_test_group
20
20
  insert_development_and_test_group
21
21
  remove_zeitwerk
22
22
  configuration
@@ -92,10 +92,10 @@ module Hanamismith
92
92
  end
93
93
  # rubocop:enable Metrics/MethodLength
94
94
 
95
- def append_development_group
95
+ def insert_development_group
96
96
  return if configuration.markdown? || configuration.build_rake
97
97
 
98
- with_template.append <<~CONTENT
98
+ with_template.insert_before(/group :tools do/, <<~CONTENT)
99
99
  group :development do
100
100
  gem "hanami-webconsole", github: "hanami/webconsole", branch: "main"
101
101
  gem "localhost", "~> 1.1"
@@ -106,10 +106,10 @@ module Hanamismith
106
106
  end
107
107
 
108
108
  # rubocop:todo Metrics/MethodLength
109
- def append_test_group
109
+ def insert_test_group
110
110
  return if configuration.build_guard || configuration.build_rspec
111
111
 
112
- with_template.append <<~CONTENT
112
+ with_template.insert_before(/group :tools do/, <<~CONTENT)
113
113
  group :test do
114
114
  gem "capybara", "~> 3.39"
115
115
  gem "cuprite", "~> 0.14"
@@ -119,6 +119,7 @@ module Hanamismith
119
119
  gem "rack-test", "~> 2.1"
120
120
  gem "rom-factory", "~> 0.11"
121
121
  end
122
+
122
123
  CONTENT
123
124
  end
124
125
  # rubocop:enable Metrics/MethodLength
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/struct"
4
+
5
+ module Hanamismith
6
+ module Builders
7
+ module Providers
8
+ # Builds project skeleton for YJIT provider.
9
+ class YJIT
10
+ using Refinements::Struct
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/yjit.rb.erb"
21
+ builder.call(configuration.merge(template_path: path)).render
22
+ configuration
23
+ end
24
+
25
+ private
26
+
27
+ attr_reader :configuration, :builder
28
+ end
29
+ end
30
+ end
31
+ end
@@ -14,6 +14,7 @@ module Hanamismith
14
14
  Rubysmith::Builders::Init,
15
15
  Builders::Core,
16
16
  Builders::Providers::Persistence,
17
+ Builders::Providers::YJIT,
17
18
  Builders::Refinement,
18
19
  Builders::Icon,
19
20
  Builders::Stylesheet,
@@ -0,0 +1,3 @@
1
+ Hanami.app.register_provider :yjit do
2
+ start { RubyVM::YJIT.enable }
3
+ end
data/lib/hanamismith.rb CHANGED
@@ -9,7 +9,8 @@ Zeitwerk::Loader.new.then do |loader|
9
9
  "htmx" => "HTMX",
10
10
  "npm" => "NPM",
11
11
  "pwa" => "PWA",
12
- "rspec" => "RSpec"
12
+ "rspec" => "RSpec",
13
+ "yjit" => "YJIT"
13
14
  loader.tag = File.basename __FILE__, ".rb"
14
15
  loader.push_dir __dir__
15
16
  loader.setup
data.tar.gz.sig CHANGED
Binary file
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.25.0
4
+ version: 0.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2024-01-06 00:00:00.000000000 Z
38
+ date: 2024-01-28 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -155,14 +155,14 @@ dependencies:
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '6.0'
158
+ version: '6.2'
159
159
  type: :runtime
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '6.0'
165
+ version: '6.2'
166
166
  - !ruby/object:Gem::Dependency
167
167
  name: runcom
168
168
  requirement: !ruby/object:Gem::Requirement
@@ -252,6 +252,7 @@ files:
252
252
  - lib/hanamismith/builders/javascript.rb
253
253
  - lib/hanamismith/builders/node.rb
254
254
  - lib/hanamismith/builders/providers/persistence.rb
255
+ - lib/hanamismith/builders/providers/yjit.rb
255
256
  - lib/hanamismith/builders/puma/configuration.rb
256
257
  - lib/hanamismith/builders/puma/procfile.rb
257
258
  - lib/hanamismith/builders/pwa.rb
@@ -290,6 +291,7 @@ files:
290
291
  - lib/hanamismith/templates/%project_name%/config/assets.js.erb
291
292
  - lib/hanamismith/templates/%project_name%/config/initializers/rack_attack.rb.erb
292
293
  - lib/hanamismith/templates/%project_name%/config/providers/persistence.rb.erb
294
+ - lib/hanamismith/templates/%project_name%/config/providers/yjit.rb.erb
293
295
  - lib/hanamismith/templates/%project_name%/config/puma.rb.erb
294
296
  - lib/hanamismith/templates/%project_name%/config/routes.rb.erb
295
297
  - lib/hanamismith/templates/%project_name%/config/settings.rb.erb
@@ -340,7 +342,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
340
342
  - !ruby/object:Gem::Version
341
343
  version: '0'
342
344
  requirements: []
343
- rubygems_version: 3.5.4
345
+ rubygems_version: 3.5.5
344
346
  signing_key:
345
347
  specification_version: 4
346
348
  summary: A command line interface for smithing Hanami projects.
metadata.gz.sig CHANGED
Binary file