gemfather-cli 0.1.1 → 0.2.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
- data/lib/gemfather/cli/settings_reader.rb +3 -2
- data/lib/gemfather/cli/version.rb +1 -1
- data/lib/gemfather/cli.rb +19 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bab6babc249d54b49797adea3dd4ea6c22caa019dc1f98ab91b1fc11df83c96
|
4
|
+
data.tar.gz: 9306946f6c1ada394985107e1669db82ea98d869b36dff33579172a6feb97ba4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86f6787b246db34ff3ccb3dce759c413dbe657224cfe5de3941accd878e9543de4a5c0e76824ec1bfdcb16f3686f990e7333ffebcc3970d0c400370b075a9530
|
7
|
+
data.tar.gz: 9ee98f7f51f7e87291d43e0ee6f4de7d5ea7e677357e6982a05235307447e68cacd80aa3ee9ce2741bb8793b87ebe46b9d39bbabd2e835eb8a8b9d6a85703470
|
@@ -8,7 +8,7 @@ module Gemfather
|
|
8
8
|
class SettingsReader
|
9
9
|
def call # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
10
10
|
settings = {}
|
11
|
-
prompt = TTY::Prompt.new
|
11
|
+
prompt = TTY::Prompt.new(interrupt: :exit)
|
12
12
|
|
13
13
|
settings[:name] = prompt.ask("Gem name:", default: "awesome-new-gem")
|
14
14
|
settings[:summary] = prompt.ask("Summary", default: "awesome-new-gem")
|
@@ -36,7 +36,8 @@ module Gemfather
|
|
36
36
|
end
|
37
37
|
|
38
38
|
settings[:makefile?] = prompt.yes?("Do you need Makefile?")
|
39
|
-
settings[:coc] = prompt.yes?("Do you need Code Of Conduct?")
|
39
|
+
settings[:coc?] = prompt.yes?("Do you need Code Of Conduct?")
|
40
|
+
settings[:changelog?] = prompt.yes?("Do you need CHANGELOG?")
|
40
41
|
|
41
42
|
settings[:debugger] = prompt.select("Select debugger tool:") do |menu|
|
42
43
|
menu.choice "IRB"
|
data/lib/gemfather/cli.rb
CHANGED
@@ -67,7 +67,7 @@ module Gemfather
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def build_coc_options
|
70
|
-
settings[:coc] ? "--coc" : "--no-coc"
|
70
|
+
settings[:coc?] ? "--coc" : "--no-coc"
|
71
71
|
end
|
72
72
|
|
73
73
|
def build_ci_options
|
@@ -91,7 +91,7 @@ module Gemfather
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
def update_gemspec_lines(gemspec_path) # rubocop:disable Metrics/MethodLength
|
94
|
+
def update_gemspec_lines(gemspec_path) # rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/AbcSize
|
95
95
|
IO.readlines(gemspec_path).map do |line| # rubocop:disable Metrics/BlockLength
|
96
96
|
case line
|
97
97
|
when /spec\.summary =.*/
|
@@ -100,6 +100,10 @@ module Gemfather
|
|
100
100
|
line.gsub(/=\s".*"/, "= \"#{settings[:description]}\"")
|
101
101
|
when /spec\.homepage =.*/
|
102
102
|
line.gsub(/=\s".*"/, "= \"#{settings[:homepage]}\"")
|
103
|
+
when /spec\.metadata\["source_code_uri"\] =.*/
|
104
|
+
line.gsub(/=\s".*"/, "= \"#{settings[:homepage]}\"")
|
105
|
+
when /spec\.metadata\["changelog_uri"\] =.*/
|
106
|
+
line.gsub(/=\s".*"/, "= \"#{settings[:homepage]}/CHANGELOG.md\"") if settings[:changelog?]
|
103
107
|
else
|
104
108
|
line
|
105
109
|
end
|
@@ -107,11 +111,20 @@ module Gemfather
|
|
107
111
|
end
|
108
112
|
|
109
113
|
def copy_templates
|
110
|
-
|
114
|
+
copy_makefile
|
115
|
+
copy_changelog
|
116
|
+
end
|
117
|
+
|
118
|
+
def copy_makefile
|
119
|
+
FileUtils.cp(File.join(File.dirname(__dir__), "../templates/Makefile"), new_gem_root) if settings[:makefile?]
|
120
|
+
end
|
121
|
+
|
122
|
+
def copy_changelog
|
123
|
+
FileUtils.touch("#{new_gem_root}/CHANGELOG.md") if settings[:changelog?]
|
124
|
+
end
|
111
125
|
|
112
|
-
|
113
|
-
new_gem_root
|
114
|
-
FileUtils.cp(File.join(File.dirname(__dir__), "../templates/Makefile"), new_gem_root)
|
126
|
+
def new_gem_root
|
127
|
+
@new_gem_root ||= File.join(Dir.pwd, settings[:name])
|
115
128
|
end
|
116
129
|
end
|
117
130
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemfather-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k0va1
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-prompt
|