hanamismith 0.25.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c61e5aa7f51620521b2ebbfb561d27704d821a87848198afee40fa66985ca88f
4
- data.tar.gz: daf26bead7227eb20fca744908d7151ece6ba6ed082e6a6efbc19daa659ebc02
3
+ metadata.gz: 22671827d08e75c8a50999ec387b30d8e5f1180d8a041bc02473759bed5510c8
4
+ data.tar.gz: a00cb2230c7994811c95b4ba82e9ac55c06bf827ddd2b9bb480b6eb8c4dbd541
5
5
  SHA512:
6
- metadata.gz: 86475dfa4e224dd1f14516fc03f99029f8155086963842d26014b8643b978405d33c6e58ddd4985af8b3b55636bddd440650f21df17612454f47a827c93df32d
7
- data.tar.gz: c14bab570764e52ab33f9202751f9f57869a5846d67362993c11795d3ff517f85bf5d3a2dfe93e1336f1444b8880dafaff4217006375ac7834cc625baf424f55
6
+ metadata.gz: 1569da4ce6a7a9aa2aea25b8ce78a1a3cab3ce06e26209e530854e69b70106ce1fd8cabbafa45e56333feafca908df56c62198d58d92ce03eb035f7a2b967e50
7
+ data.tar.gz: 8062f91fb97b419ef6b095d9355f874085b82379921d24b560176bd4c8de988c109bfef91d58cc3f33d53c209cb4f6352a65b4f65bb1f4b223554a7e45a598b6
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.26.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.1"
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.26.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-23 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.1'
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.1'
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