gemfather-cli 0.1.1 → 0.2.0

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