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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c80850beac849658b418983fb4fa7b7b6310dcefcdd95e3b365a68402b42bda2
4
- data.tar.gz: dccb5039ec85d1341983f96aa55825eed1b52815e76ef12383662cc2dfdbfcc0
3
+ metadata.gz: 1bab6babc249d54b49797adea3dd4ea6c22caa019dc1f98ab91b1fc11df83c96
4
+ data.tar.gz: 9306946f6c1ada394985107e1669db82ea98d869b36dff33579172a6feb97ba4
5
5
  SHA512:
6
- metadata.gz: 5ed22014acd490e9fc6d48be0e5edfafee9a749ef34c102f2d86e0275e2ad89dfce92770dc845acb9646209157e5508c6ea15bf71ebd2cadc9a3d4adc85b6852
7
- data.tar.gz: ba2da66bb91df273f1e7422188d599b1d8f88feb4142f6552ddedfe09956bb71e7fc04219f7ee0a9067556681fb5bcb9e7c49acf0f2a6e0c90ea155568cfa855
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"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gemfather
4
4
  module Cli
5
- VERSION = "0.1.1"
5
+ VERSION = "0.2.0"
6
6
  end
7
7
  end
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
- return unless settings[:makefile]
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
- puts File.join(File.dirname(__dir__))
113
- new_gem_root = File.join(Dir.pwd, settings[:name])
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.1.1
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: 2022-11-16 00:00:00.000000000 Z
11
+ date: 2023-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-prompt