rubysmith 3.2.0 → 3.3.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/lib/rubysmith/builder.rb +17 -13
- data/lib/rubysmith/builders/git/commit.rb +7 -3
- data/lib/rubysmith/cli/actions/build.rb +12 -3
- data/lib/rubysmith/extensions/rubocop.rb +1 -1
- data/lib/rubysmith/templates/%project_name%/Gemfile.erb +1 -1
- data/rubysmith.gemspec +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: 8782be480f3bd0158ed695d554cc914848c84184522b56592ea7a9502d0cb08b
|
4
|
+
data.tar.gz: 433862359a53831ab86bfa749058c0a354e3f60beae94fbce701cefdb1239a87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6cc4230cdbe3ebdd878d18ccb22b7d52d67988808c068d6dcc927a2bf5d635d674a0fda503a28b08a146278780843421a20847189a5e7511080e60c136be697
|
7
|
+
data.tar.gz: 40b490e0db3497120660c4916a3f66453be792b687e595dc275671ddb93e7561aec0856af9e67a73dfac8b4d460e508d145ffab02211750009697bac328543c5
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/rubysmith/builder.rb
CHANGED
@@ -22,49 +22,49 @@ module Rubysmith
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def append content
|
25
|
-
|
25
|
+
log_debug "Appending: #{relative_build_path}"
|
26
26
|
build_path.rewrite { |body| body + content }
|
27
27
|
self
|
28
28
|
end
|
29
29
|
|
30
30
|
def delete
|
31
|
-
|
31
|
+
log_debug "Deleting: #{relative_build_path}"
|
32
32
|
build_path.delete
|
33
33
|
self
|
34
34
|
end
|
35
35
|
|
36
36
|
def insert_before pattern, content
|
37
|
-
|
37
|
+
log_debug "Inserting content before pattern in: #{relative_build_path}"
|
38
38
|
build_path.write inserter.new(build_path.readlines, :before).call(content, pattern).join
|
39
39
|
self
|
40
40
|
end
|
41
41
|
|
42
42
|
def insert_after pattern, content
|
43
|
-
|
43
|
+
log_debug "Inserting content after pattern in: #{relative_build_path}"
|
44
44
|
build_path.write inserter.new(build_path.readlines, :after).call(content, pattern).join
|
45
45
|
self
|
46
46
|
end
|
47
47
|
|
48
48
|
def permit mode
|
49
|
-
|
49
|
+
log_debug "Changing permissions for: #{relative_build_path}"
|
50
50
|
build_path.chmod mode
|
51
51
|
self
|
52
52
|
end
|
53
53
|
|
54
54
|
def prepend content
|
55
|
-
|
55
|
+
log_debug "Prepending content to: #{relative_build_path}"
|
56
56
|
build_path.rewrite { |body| content + body }
|
57
57
|
self
|
58
58
|
end
|
59
59
|
|
60
60
|
def rename name
|
61
|
-
|
61
|
+
log_debug "Renaming: #{build_path.basename} to #{name}"
|
62
62
|
build_path.rename build_path.parent.join(name)
|
63
63
|
self
|
64
64
|
end
|
65
65
|
|
66
66
|
def render
|
67
|
-
|
67
|
+
log_debug "Rendering: #{relative_build_path}"
|
68
68
|
|
69
69
|
pathway.start_path.read.then do |content|
|
70
70
|
build_path.make_ancestors.write renderer.call(content)
|
@@ -74,21 +74,21 @@ module Rubysmith
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def replace pattern, content
|
77
|
-
|
77
|
+
log_debug "Replacing content for patterns in: #{relative_build_path}"
|
78
78
|
build_path.rewrite { |body| body.gsub pattern, content }
|
79
79
|
self
|
80
80
|
end
|
81
81
|
|
82
82
|
def run *command
|
83
|
-
|
83
|
+
log_debug "Running: #{command}"
|
84
84
|
execute(*command)
|
85
85
|
self
|
86
86
|
rescue StandardError => error
|
87
|
-
|
87
|
+
log_error error and self
|
88
88
|
end
|
89
89
|
|
90
90
|
def touch
|
91
|
-
|
91
|
+
log_debug "Touching: #{relative_build_path}"
|
92
92
|
build_path.deep_touch
|
93
93
|
self
|
94
94
|
end
|
@@ -99,7 +99,7 @@ module Rubysmith
|
|
99
99
|
|
100
100
|
def execute *command
|
101
101
|
kernel.capture2e(*command).then do |result, status|
|
102
|
-
|
102
|
+
log_error result unless status.success?
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
@@ -119,5 +119,9 @@ module Rubysmith
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def pathway = configuration.pathway
|
122
|
+
|
123
|
+
def log_debug(message) = logger.debug { message }
|
124
|
+
|
125
|
+
def log_error(message) = logger.error { message }
|
122
126
|
end
|
123
127
|
end
|
@@ -5,9 +5,13 @@ module Rubysmith
|
|
5
5
|
module Git
|
6
6
|
# Builds project skeleton initial Git commit message.
|
7
7
|
class Commit
|
8
|
+
include Import[:specification]
|
9
|
+
|
8
10
|
def self.call(...) = new(...).call
|
9
11
|
|
10
|
-
def initialize configuration, builder: Builder
|
12
|
+
def initialize configuration, builder: Builder, **dependencies
|
13
|
+
super(**dependencies)
|
14
|
+
|
11
15
|
@configuration = configuration
|
12
16
|
@builder = builder
|
13
17
|
end
|
@@ -31,8 +35,8 @@ module Rubysmith
|
|
31
35
|
|
32
36
|
def body
|
33
37
|
<<~CONTENT
|
34
|
-
Generated with [
|
35
|
-
|
38
|
+
Generated with [#{specification.label}](#{specification.homepage_url})
|
39
|
+
#{specification.version}.
|
36
40
|
CONTENT
|
37
41
|
end
|
38
42
|
|
@@ -5,6 +5,8 @@ module Rubysmith
|
|
5
5
|
module Actions
|
6
6
|
# Handles the build action.
|
7
7
|
class Build
|
8
|
+
include Rubysmith::Import[:logger]
|
9
|
+
|
8
10
|
# Order is important.
|
9
11
|
BUILDERS = [
|
10
12
|
Builders::Core,
|
@@ -33,15 +35,22 @@ module Rubysmith
|
|
33
35
|
Builders::Git::Commit
|
34
36
|
].freeze
|
35
37
|
|
36
|
-
def initialize builders: BUILDERS
|
38
|
+
def initialize builders: BUILDERS, **dependencies
|
39
|
+
super(**dependencies)
|
37
40
|
@builders = builders
|
38
41
|
end
|
39
42
|
|
40
|
-
def call
|
43
|
+
def call configuration
|
44
|
+
log_info "Building project skeleton: #{configuration.project_name}..."
|
45
|
+
builders.each { |builder| builder.call configuration }
|
46
|
+
log_info "Project skeleton complete!"
|
47
|
+
end
|
41
48
|
|
42
49
|
private
|
43
50
|
|
44
|
-
attr_reader :
|
51
|
+
attr_reader :builders
|
52
|
+
|
53
|
+
def log_info(message) = logger.info { message }
|
45
54
|
end
|
46
55
|
end
|
47
56
|
end
|
@@ -14,7 +14,7 @@ group :code_quality do
|
|
14
14
|
gem "bundler-leak", "~> 0.2"
|
15
15
|
<% end %>
|
16
16
|
<% if configuration.build_caliber %>
|
17
|
-
gem "caliber", "~> 0.
|
17
|
+
gem "caliber", "~> 0.9"
|
18
18
|
<% end %>
|
19
19
|
<% if configuration.build_git && configuration.build_git_lint %>
|
20
20
|
gem "git-lint", "~> 4.0"
|
data/rubysmith.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "rubysmith"
|
5
|
-
spec.version = "3.
|
5
|
+
spec.version = "3.3.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://github.com/bkuhlmann/rubysmith"
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency "pastel", "~> 0.8"
|
32
32
|
spec.add_dependency "pragmater", "~> 11.1"
|
33
33
|
spec.add_dependency "refinements", "~> 9.4"
|
34
|
-
spec.add_dependency "rubocop", "~> 1.
|
34
|
+
spec.add_dependency "rubocop", "~> 1.30"
|
35
35
|
spec.add_dependency "runcom", "~> 8.4"
|
36
36
|
spec.add_dependency "spek", "~> 0.3"
|
37
37
|
spec.add_dependency "tocer", "~> 14.1"
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubysmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.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: 2022-05-
|
31
|
+
date: 2022-05-28 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: auto_injector
|
@@ -148,14 +148,14 @@ dependencies:
|
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '1.
|
151
|
+
version: '1.30'
|
152
152
|
type: :runtime
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '1.
|
158
|
+
version: '1.30'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: runcom
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -330,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
330
330
|
- !ruby/object:Gem::Version
|
331
331
|
version: '0'
|
332
332
|
requirements: []
|
333
|
-
rubygems_version: 3.3.
|
333
|
+
rubygems_version: 3.3.14
|
334
334
|
signing_key:
|
335
335
|
specification_version: 4
|
336
336
|
summary: A command line interface for smithing Ruby projects.
|
metadata.gz.sig
CHANGED
Binary file
|