hanamismith 0.3.0 → 0.4.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: dbbbb6d45c490481033d4097a84a5685b1db9dd0473b4a0b696c33a926278e7a
4
- data.tar.gz: e366cae2d1d03af350bc669dfcd5b520ada312bd1128fef5af0e55c310feaaad
3
+ metadata.gz: acfcec1bca4aa46dcdf1938f6fe7de5df8dcb369e1cdccf70c1c50a0b091376e
4
+ data.tar.gz: fb359b86de74b3bcfdf8a2b5da38fb1008938cd681f7afd6e8cf734dbe8436ae
5
5
  SHA512:
6
- metadata.gz: c1ef21826c24b1a4dfc0bf68d292bff187bdd8fb373171a4c60117b88a6775b829afb18f3577f306c20674917219552478ef5fb3b9596b92a11ac16542c6e2ca
7
- data.tar.gz: fa9d17895f7144eaf6987bfb972f38b364b177618342fb77fd6988e0a916e3473eab5e41b2560146c4159f37a1e39b5bd9af16fe9f1f615c2ea3ae45b92a2e47
6
+ metadata.gz: ea87d728df34d6ace0cb8110350f6828c859ed4d75f0a439d208fe1ffb883fd7798a57a5830977c99dcac3301ffb41beb48a4ec4271ea3595597bb89260c5669
7
+ data.tar.gz: 4bf40a3ed2f9b000ea5d34fc6614a063d89cad15f98e2b283f75d11ead82b2f875b51e608723aeae148ea08ff1d345b41149e9977c4e90906dc6c281e96f6682
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -39,6 +39,7 @@ toc::[]
39
39
  * Uses {puma_link} as the default web server and fully configured for local and production environments.
40
40
  * Uses {capybara_link} with {cuprite_link} (driver) for full, headless, feature testing.
41
41
  * Uses {dotenv_link} for managing your environment configurations.
42
+ * Provides support for Continuous Integration systems like link:https://circleci.com[Circle CI] (default) and link:https://docs.github.com/en/actions[GitHub Actions].
42
43
 
43
44
  == Requirements
44
45
 
@@ -139,7 +140,7 @@ hanamismith --build demo
139
140
  # Run code quality and test coverage checks
140
141
  cd demo
141
142
  bin/setup
142
- hanami db create
143
+ bin/hanami db create
143
144
  HANAMI_ENV=test hanami db create
144
145
  bin/rake
145
146
 
@@ -151,10 +152,13 @@ git commit # (repeat until finished with implementation)
151
152
  overmind start --port-step 10 --procfile Procfile.dev
152
153
 
153
154
  # Run: Without Overmind
154
- hanami server
155
+ bin/hanami server
155
156
 
156
157
  # Deploy
157
158
  git push
159
+
160
+ # Help
161
+ bin/hanami --help
158
162
  ----
159
163
 
160
164
  Once the server is running you can visit (or ping) the following endpoints:
@@ -175,11 +179,15 @@ alias hsh="hanamismith --help"
175
179
 
176
180
  The above is what I use via my {dotfiles_link} project.
177
181
 
178
- === Demonstration
182
+ === Demonstrations
183
+
184
+ For a fully working demonstration application -- as built by this gem -- check out the link:https://github.com/bkuhlmann/hemo[Hemo] project. Here's a quick screencast overview of this demonstration application in action:
185
+
186
+ video::https://www.alchemists.io/videos/projects/hemo/demo.mp4[poster=https://www.alchemists.io/images/projects/hemo/demo.png,width=800,height=450,role=focal_point]
179
187
 
180
- If you'd like a fully working demonstration application -- as built by this gem -- then check out the link:https://github.com/bkuhlmann/hemo[Hemo] project. Here's a quick screencast overview of demonstration application:
188
+ In case you are not aware of link:https://hanamimastery.com[Hanami Mastery], now would be a good time to introduce you. link:https://hanamimastery.com/about[Seb Wilgosz] -- the creator of Hanami Mastery -- recently published link:https://hanamimastery.com/episodes/40-hanamismith[Episode 40] (see below) which features this gem. _Please note that multiple advancements have been applied since the original recording of this video_. That said, this'll give you another perspective on usage which you might enjoy:
181
189
 
182
- video::https://www.alchemists.io/videos/projects/hemo/demo.mp4[poster=https://www.alchemists.io/images/projects/hemo/demo.png,width=1400,height=811,role=focal_point]
190
+ video::V4QPZi3j7uY[youtube,role=video]
183
191
 
184
192
  == Development
185
193
 
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.3.0"
5
+ spec.version = "0.4.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.4"
33
+ spec.add_dependency "rubysmith", "~> 4.5"
34
34
  spec.add_dependency "runcom", "~> 9.0"
35
35
  spec.add_dependency "spek", "~> 1.0"
36
36
  spec.add_dependency "zeitwerk", "~> 2.6"
@@ -55,6 +55,10 @@ module Hanamismith
55
55
  path = "%project_name%/lib/%project_path%/types.rb.erb"
56
56
  builder.call(configuration.merge(template_path: path)).render
57
57
  end
58
+
59
+ def add_temp_directory
60
+ builder.call(configuration.merge(template_path: "%project_name%/tmp")).make_path
61
+ end
58
62
  end
59
63
  end
60
64
  end
@@ -54,8 +54,8 @@ module Hanamismith
54
54
  Builders::Git::Commit
55
55
  ].freeze
56
56
 
57
- def initialize builders: BUILDERS, **dependencies
58
- super(**dependencies)
57
+ def initialize(builders: BUILDERS, **)
58
+ super(**)
59
59
  @builders = builders
60
60
  end
61
61
 
@@ -7,9 +7,8 @@ module Hanamismith
7
7
  class Config
8
8
  include Hanamismith::Import[:kernel, :logger]
9
9
 
10
- def initialize client: Configuration::Loader::CLIENT, **dependencies
11
- super(**dependencies)
12
-
10
+ def initialize(client: Configuration::Loader::CLIENT, **)
11
+ super(**)
13
12
  @client = client
14
13
  end
15
14
 
@@ -14,9 +14,8 @@ module Hanamismith
14
14
  # Order is important.
15
15
  SECTIONS = [Parsers::Core, Rubysmith::CLI::Parsers::Build].freeze
16
16
 
17
- def initialize sections: SECTIONS, client: CLIENT, **dependencies
18
- super(**dependencies)
19
-
17
+ def initialize(sections: SECTIONS, client: CLIENT, **)
18
+ super(**)
20
19
  @sections = sections
21
20
  @client = client
22
21
  @configuration_duplicate = configuration.dup
@@ -14,11 +14,8 @@ module Hanamismith
14
14
 
15
15
  def self.call(...) = new(...).call
16
16
 
17
- def initialize configuration = Container[:configuration],
18
- client: Parser::CLIENT,
19
- **dependencies
20
-
21
- super(**dependencies)
17
+ def initialize(configuration = Container[:configuration], client: Parser::CLIENT, **)
18
+ super(**)
22
19
  @configuration = configuration
23
20
  @client = client
24
21
  end
@@ -8,8 +8,8 @@ module Hanamismith
8
8
  class Shell
9
9
  include Actions::Import[:config, :build, :specification, :logger]
10
10
 
11
- def initialize parser: Parser.new, **dependencies
12
- super(**dependencies)
11
+ def initialize(parser: Parser.new, **)
12
+ super(**)
13
13
  @parser = parser
14
14
  end
15
15
 
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.3.0
4
+ version: 0.4.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-29 00:00:00.000000000 Z
31
+ date: 2023-02-05 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.4'
137
+ version: '4.5'
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.4'
144
+ version: '4.5'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: runcom
147
147
  requirement: !ruby/object:Gem::Requirement
@@ -301,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
301
301
  - !ruby/object:Gem::Version
302
302
  version: '0'
303
303
  requirements: []
304
- rubygems_version: 3.4.5
304
+ rubygems_version: 3.4.6
305
305
  signing_key:
306
306
  specification_version: 4
307
307
  summary: A command line interface for smithing Hanami projects.
metadata.gz.sig CHANGED
Binary file