hanamismith 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|