hanamismith 0.28.1 → 0.29.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: c2cf76c21bc88730cfcba43ea6fe8404ece3b1c52cf71b57694c5f37462a984b
4
- data.tar.gz: f3fba4dbfc82c1a1df81cf1858e6010313d4a1ceb6276bd9243b7c96bfef080e
3
+ metadata.gz: ed30a628cfaadde7746eb2049aafcd814ad466537e90db833c92f8c6a0c599ca
4
+ data.tar.gz: 5cf99cc1a91e5f56321c2a7e0052f5c4a84b65e38ad248b0c1d0206eb522dd7a
5
5
  SHA512:
6
- metadata.gz: 5c4d9da6a263777ab9679ea2b9037da6b2a79f0bbde17fd6a6c3db9a1451ef88221fd80d155c1e734dc83704546000ab02d8dbdfe4492497570ab0a332c3793c
7
- data.tar.gz: 3bff75cac0a10a98d13dfe20b935f138783c29330831338b4a3156235cdb157ca72057a40ace93ad72569be71b391168e51052988011ec3b6c2c9a023d2875b4
6
+ metadata.gz: 621fe4bc67d920cb9a2cf62822e21ceb1c6737c14ca94b477dfed0e1b644c31167131793fc799845de6c0065930c01f0b593fced811b96e991b67e94e66de56a
7
+ data.tar.gz: a25a7f8648b42c210e5b4cf5aafcf97da48cf5a33e0a4253a104d96675f356b283943e04c0a02e0b2737f7d96ca800fed0094bc4a13244aac3a6d11e42df77c8
checksums.yaml.gz.sig CHANGED
Binary file
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.28.1"
5
+ spec.version = "0.29.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/hanamismith"
@@ -5,7 +5,6 @@ require "refinements/struct"
5
5
  module Hanamismith
6
6
  module Builders
7
7
  # Builds project skeleton with Gemfile configuration.
8
- # rubocop:todo Metrics/ClassLength
9
8
  class Bundler < Rubysmith::Builders::Bundler
10
9
  using Refinements::Struct
11
10
 
@@ -29,38 +28,14 @@ module Hanamismith
29
28
  # rubocop:todo Metrics/MethodLength
30
29
  def insert_main_dependencies
31
30
  with_template.insert_after("source", %(gem "dry-types", "~> 1.7"))
32
- .insert_after(
33
- "source",
34
- %(gem "hanami", github: "hanami/hanami", branch: "main"\n)
35
- )
36
- .insert_after(
37
- "source",
38
- %(gem "hanami-assets", github: "hanami/assets", branch: "main"\n)
39
- )
40
- .insert_after(
41
- "source",
42
- %(gem "hanami-cli", github: "hanami/cli", branch: "main"\n)
43
- )
44
- .insert_after(
45
- "source",
46
- %(gem "hanami-controller", github: "hanami/controller", branch: "main"\n)
47
- )
48
- .insert_after(
49
- "source",
50
- %(gem "hanami-router", github: "hanami/router", branch: "main"\n)
51
- )
52
- .insert_after(
53
- "source",
54
- %(gem "hanami-utils", github: "hanami/utils", branch: "main"\n)
55
- )
56
- .insert_after(
57
- "source",
58
- %(gem "hanami-validations", github: "hanami/validations", branch: "main"\n)
59
- )
60
- .insert_after(
61
- "source",
62
- %(gem "hanami-view", github: "hanami/view", branch: "main"\n)
63
- )
31
+ .insert_after("source", %(gem "hanami", "~> 2.1"\n))
32
+ .insert_after("source", %(gem "hanami-assets", "~> 2.1"\n))
33
+ .insert_after("source", %(gem "hanami-cli", "~> 2.1"\n))
34
+ .insert_after("source", %(gem "hanami-controller", "~> 2.1"\n))
35
+ .insert_after("source", %(gem "hanami-router", "~> 2.1"\n))
36
+ .insert_after("source", %(gem "hanami-utils", "~> 2.1"\n))
37
+ .insert_after("source", %(gem "hanami-validations", "~> 2.1"\n))
38
+ .insert_after("source", %(gem "hanami-view", "~> 2.1"\n))
64
39
  .insert_after("source", %(gem "htmx", "~> 1.0"\n))
65
40
  .insert_after("source", %(gem "puma", "~> 6.4"\n))
66
41
  .insert_after("source", %(gem "rack-attack", "~> 6.7"\n))
@@ -71,7 +46,7 @@ module Hanamismith
71
46
  with_template.insert_after("source", %(gem "pg", "~> 1.5"\n))
72
47
  .insert_after("source", %(gem "rom", "~> 5.3"\n))
73
48
  .insert_after("source", %(gem "rom-sql", "~> 3.6"\n))
74
- .insert_after("source", %(\ngem "sequel", "~> 5.76"\n))
49
+ .insert_after("source", %(\ngem "sequel", "~> 5.77"\n))
75
50
  end
76
51
 
77
52
  # rubocop:todo Metrics/MethodLength
@@ -79,16 +54,16 @@ module Hanamismith
79
54
  with_template.insert_after(/group :quality/, %( gem "rubocop-sequel", "~> 0.3"\n))
80
55
  .insert_after(
81
56
  /group :development do/,
82
- %( gem "hanami-webconsole", github: "hanami/webconsole", branch: "main"\n)
57
+ %( gem "hanami-webconsole", "~> 2.1"\n)
83
58
  )
84
- .insert_after(/group :development do/, %( gem "localhost", "~> 1.1"\n))
59
+ .insert_after(/group :development do/, %( gem "localhost", "~> 1.2"\n))
85
60
  .insert_after(/group :development do/, %( gem "rerun", "~> 0.14"\n))
86
- .insert_after(/group :test/, %( gem "capybara", "~> 3.39"\n))
87
- .insert_after(/group :test/, %( gem "cuprite", "~> 0.14"\n))
61
+ .insert_after(/group :test/, %( gem "capybara", "~> 3.40"\n))
62
+ .insert_after(/group :test/, %( gem "cuprite", "~> 0.15"\n))
88
63
  .insert_after(/group :test/, %( gem "database_cleaner-sequel", "~> 2.0"\n))
89
64
  .insert_after(/group :test/, %( gem "launchy", "~> 2.5"\n))
90
65
  .insert_after(/group :test/, %( gem "rack-test", "~> 2.1"\n))
91
- .insert_after(/group :test/, %( gem "rom-factory", "~> 0.11"\n))
66
+ .insert_after(/group :test/, %( gem "rom-factory", "~> 0.12"\n))
92
67
  end
93
68
  # rubocop:enable Metrics/MethodLength
94
69
 
@@ -97,8 +72,8 @@ module Hanamismith
97
72
 
98
73
  with_template.insert_before(/group :tools do/, <<~CONTENT)
99
74
  group :development do
100
- gem "hanami-webconsole", github: "hanami/webconsole", branch: "main"
101
- gem "localhost", "~> 1.1"
75
+ gem "hanami-webconsole", "~> 2.1"
76
+ gem "localhost", "~> 1.2"
102
77
  gem "rerun", "~> 0.14"
103
78
  end
104
79
 
@@ -111,13 +86,13 @@ module Hanamismith
111
86
 
112
87
  with_template.insert_before(/group :tools do/, <<~CONTENT)
113
88
  group :test do
114
- gem "capybara", "~> 3.39"
115
- gem "cuprite", "~> 0.14"
89
+ gem "capybara", "~> 3.40"
90
+ gem "cuprite", "~> 0.15"
116
91
  gem "database_cleaner-sequel", "~> 2.0"
117
- gem "hanami-rspec", "~> 2.0"
92
+ gem "hanami-rspec", "~> 2.1"
118
93
  gem "launchy", "~> 2.5"
119
94
  gem "rack-test", "~> 2.1"
120
- gem "rom-factory", "~> 0.11"
95
+ gem "rom-factory", "~> 0.12"
121
96
  end
122
97
 
123
98
  CONTENT
@@ -128,7 +103,7 @@ module Hanamismith
128
103
  with_template.insert_before(/group :development/, <<~CONTENT)
129
104
 
130
105
  group :development, :test do
131
- gem "dotenv", "~> 2.8"
106
+ gem "dotenv", "~> 3.0"
132
107
  end
133
108
 
134
109
  CONTENT
@@ -141,5 +116,4 @@ module Hanamismith
141
116
  end
142
117
  end
143
118
  end
144
- # rubocop:enable Metrics/ClassLength
145
119
  end
@@ -23,12 +23,11 @@ module Hanamismith
23
23
  .append(<<~CONTENT)
24
24
  npm install
25
25
 
26
- hanami db create
27
- hanami db migrate
28
- hanami db seed
26
+ bin/hanami db create
27
+ bin/hanami db migrate
29
28
 
30
- HANAMI_ENV=test hanami db create
31
- HANAMI_ENV=test hanami db migrate
29
+ HANAMI_ENV=test bin/hanami db create
30
+ HANAMI_ENV=test bin/hanami db migrate
32
31
  CONTENT
33
32
  end
34
33
  end
@@ -100,6 +100,11 @@ module Hanamismith
100
100
  path = "%project_name%/slices/home/actions/show.rb.erb"
101
101
  builder.call(configuration.merge(template_path: path)).render
102
102
  end
103
+
104
+ def add_request_spec
105
+ path = "%project_name%/spec/features/home_spec.rb.erb"
106
+ builder.call(configuration.merge(template_path: path)).render
107
+ end
103
108
  end
104
109
  end
105
110
  end
@@ -60,6 +60,7 @@ module Hanamismith
60
60
  Rubysmith::Extensions::Tocer,
61
61
  Rubysmith::Extensions::Rubocop,
62
62
  Extensions::NPM,
63
+ Extensions::Asset,
63
64
  Builders::Environments::Development,
64
65
  Builders::Environments::Test,
65
66
  Builders::Git::Commit
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/pathname"
4
+
5
+ module Hanamismith
6
+ module Extensions
7
+ # Ensures assets are compiled.
8
+ class Asset
9
+ include Import[:kernel, :logger]
10
+
11
+ using Refinements::Pathname
12
+
13
+ def self.call(...) = new(...).call
14
+
15
+ def initialize(configuration, **)
16
+ super(**)
17
+ @configuration = configuration
18
+ end
19
+
20
+ def call
21
+ logger.error { "Unable to compile assets. Try: `hanami assets compile`." } unless run
22
+ configuration
23
+ end
24
+
25
+ private
26
+
27
+ attr_reader :configuration
28
+
29
+ def run
30
+ success = false
31
+ configuration.project_root.change_dir { success = compile_app && compile_home }
32
+ success
33
+ end
34
+
35
+ def compile_app
36
+ kernel.system "node config/assets.js -- --path=app --dest=public/assets > /dev/null 2>&1"
37
+ end
38
+
39
+ def compile_home
40
+ kernel.system(
41
+ "node config/assets.js -- --path=slices/home --dest=public/assets/_home > /dev/null 2>&1"
42
+ )
43
+ end
44
+ end
45
+ end
46
+ end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "refinements/io"
4
4
  require "refinements/pathname"
5
- require "rubocop"
6
5
 
7
6
  module Hanamismith
8
7
  module Extensions
@@ -7,10 +7,7 @@
7
7
  "private": true,
8
8
  "type": "module",
9
9
  "keywords": ["ruby", "hanami"],
10
- "scripts": {
11
- "assets": "node config/assets.js"
12
- },
13
10
  "dependencies": {
14
- "hanami-assets": "github:hanami/assets-js#main"
11
+ "hanami-assets": "^2.1.0"
15
12
  }
16
13
  }
@@ -0,0 +1,6 @@
1
+ RSpec.describe "Home", :web do
2
+ it "renders home page" do
3
+ visit "/"
4
+ expect(page).to have_content("<%= configuration.project_label %>")
5
+ end
6
+ end
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.28.1
4
+ version: 0.29.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-02-17 00:00:00.000000000 Z
38
+ date: 2024-02-28 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -273,6 +273,7 @@ files:
273
273
  - lib/hanamismith/cli/commands/build.rb
274
274
  - lib/hanamismith/cli/shell.rb
275
275
  - lib/hanamismith/container.rb
276
+ - lib/hanamismith/extensions/asset.rb
276
277
  - lib/hanamismith/extensions/npm.rb
277
278
  - lib/hanamismith/import.rb
278
279
  - lib/hanamismith/templates/%project_name%/.circleci/config.yml.erb
@@ -319,6 +320,7 @@ files:
319
320
  - lib/hanamismith/templates/%project_name%/slices/home/view.rb.erb
320
321
  - lib/hanamismith/templates/%project_name%/slices/home/views/context.rb.erb
321
322
  - lib/hanamismith/templates/%project_name%/slices/home/views/show.rb.erb
323
+ - lib/hanamismith/templates/%project_name%/spec/features/home_spec.rb.erb
322
324
  - lib/hanamismith/templates/%project_name%/spec/hanami_helper.rb.erb
323
325
  - lib/hanamismith/templates/%project_name%/spec/lib/%project_path%/refines/actions/response_spec.rb.erb
324
326
  - lib/hanamismith/templates/%project_name%/spec/slices/health/actions/show_spec.rb.erb
metadata.gz.sig CHANGED
Binary file