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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +13 -5
- data/hanamismith.gemspec +2 -2
- data/lib/hanamismith/builders/core.rb +4 -0
- data/lib/hanamismith/cli/actions/build.rb +2 -2
- data/lib/hanamismith/cli/actions/config.rb +2 -3
- data/lib/hanamismith/cli/parser.rb +2 -3
- data/lib/hanamismith/cli/parsers/core.rb +2 -5
- data/lib/hanamismith/cli/shell.rb +2 -2
- data.tar.gz.sig +0 -0
- metadata +5 -5
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acfcec1bca4aa46dcdf1938f6fe7de5df8dcb369e1cdccf70c1c50a0b091376e
|
4
|
+
data.tar.gz: fb359b86de74b3bcfdf8a2b5da38fb1008938cd681f7afd6e8cf734dbe8436ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
===
|
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
|
-
|
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::
|
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.
|
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.
|
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
|
@@ -7,9 +7,8 @@ module Hanamismith
|
|
7
7
|
class Config
|
8
8
|
include Hanamismith::Import[:kernel, :logger]
|
9
9
|
|
10
|
-
def initialize
|
11
|
-
super(**
|
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
|
18
|
-
super(**
|
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
|
18
|
-
|
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
|
12
|
-
super(**
|
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.
|
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-
|
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.
|
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.
|
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.
|
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
|