gemsmith 7.7.0 → 8.0.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.tar.gz.sig +0 -0
- data/README.md +114 -118
- data/bin/gemsmith +2 -1
- data/lib/gemsmith/cli.rb +195 -99
- data/lib/gemsmith/cli_helpers.rb +8 -19
- data/lib/gemsmith/credentials.rb +2 -2
- data/lib/gemsmith/gem/inspector.rb +30 -0
- data/lib/gemsmith/gem/module_formatter.rb +51 -0
- data/lib/gemsmith/gem/requirement.rb +2 -0
- data/lib/gemsmith/{aids/gem_spec.rb → gem/specification.rb} +19 -26
- data/lib/gemsmith/generators/base.rb +33 -0
- data/lib/gemsmith/generators/bundler.rb +15 -0
- data/lib/gemsmith/generators/cli.rb +17 -0
- data/lib/gemsmith/generators/code_climate.rb +14 -0
- data/lib/gemsmith/generators/documentation.rb +28 -0
- data/lib/gemsmith/generators/gem.rb +17 -0
- data/lib/gemsmith/{skeletons/git_skeleton.rb → generators/git.rb} +13 -7
- data/lib/gemsmith/generators/git_hub.rb +14 -0
- data/lib/gemsmith/generators/guard.rb +13 -0
- data/lib/gemsmith/generators/pragma.rb +40 -0
- data/lib/gemsmith/generators/rails.rb +85 -0
- data/lib/gemsmith/generators/rake.rb +40 -0
- data/lib/gemsmith/generators/reek.rb +13 -0
- data/lib/gemsmith/generators/rspec.rb +23 -0
- data/lib/gemsmith/generators/rubocop.rb +16 -0
- data/lib/gemsmith/{skeletons/ruby_skeleton.rb → generators/ruby.rb} +5 -5
- data/lib/gemsmith/generators/scss_lint.rb +13 -0
- data/lib/gemsmith/generators/travis.rb +13 -0
- data/lib/gemsmith/git.rb +19 -0
- data/lib/gemsmith/identity.rb +1 -1
- data/lib/gemsmith/rake/builder.rb +65 -0
- data/lib/gemsmith/rake/{release.rb → publisher.rb} +14 -5
- data/lib/gemsmith/rake/tasks.rb +32 -20
- data/lib/gemsmith/template_helper.rb +28 -0
- data/lib/gemsmith/templates/%gem_name%/%gem_name%.gemspec.tt +30 -28
- data/lib/gemsmith/templates/%gem_name%/.codeclimate.yml.tt +36 -0
- data/lib/gemsmith/templates/%gem_name%/.rubocop.yml.tt +9 -1
- data/lib/gemsmith/templates/%gem_name%/.travis.yml.tt +4 -1
- data/lib/gemsmith/templates/%gem_name%/{CHANGELOG.md.tt → CHANGES.md.tt} +0 -0
- data/lib/gemsmith/templates/%gem_name%/Guardfile.tt +1 -1
- data/lib/gemsmith/templates/%gem_name%/README.md.tt +20 -18
- data/lib/gemsmith/templates/%gem_name%/Rakefile.tt +6 -1
- data/lib/gemsmith/templates/%gem_name%/bin/%gem_name%.tt +4 -4
- data/lib/gemsmith/templates/%gem_name%/bin/setup.tt +1 -1
- data/lib/gemsmith/templates/%gem_name%/lib/%gem_path%.rb.tt +4 -0
- data/lib/gemsmith/templates/%gem_name%/lib/%gem_path%/cli.rb.tt +54 -0
- data/lib/gemsmith/templates/%gem_name%/lib/{%gem_name% → %gem_path%}/engine.rb.tt +2 -4
- data/lib/gemsmith/templates/%gem_name%/lib/{%gem_name% → %gem_path%}/identity.rb.tt +3 -5
- data/lib/gemsmith/templates/%gem_name%/lib/generators/{%gem_name% → %gem_path%}/install/USAGE.tt +0 -0
- data/lib/gemsmith/templates/%gem_name%/lib/generators/{%gem_name% → %gem_path%}/install/install_generator.rb.tt +2 -5
- data/lib/gemsmith/templates/%gem_name%/lib/generators/{%gem_name% → %gem_path%}/upgrade/USAGE.tt +0 -0
- data/lib/gemsmith/templates/%gem_name%/lib/generators/{%gem_name% → %gem_path%}/upgrade/upgrade_generator.rb.tt +2 -5
- data/lib/gemsmith/templates/%gem_name%/lib/tasks/reek.rake.tt +6 -0
- data/lib/gemsmith/templates/%gem_name%/lib/tasks/scss_lint.rake.tt +6 -0
- data/lib/gemsmith/templates/%gem_name%/spec/lib/%gem_path%/cli_spec.rb.tt +83 -0
- data/lib/gemsmith/templates/%gem_name%/spec/rails_helper.rb.tt +14 -0
- data/lib/gemsmith/templates/%gem_name%/spec/spec_helper.rb.tt +29 -16
- data/lib/gemsmith/templates/%gem_name%/spec/support/shared_contexts/temp_dir.rb.tt +9 -0
- data/lib/tasks/reek.rake +8 -0
- data/lib/tasks/rspec.rake +2 -0
- data/lib/tasks/rubocop.rake +2 -0
- metadata +138 -149
- metadata.gz.sig +0 -0
- data/lib/gemsmith/aids/git.rb +0 -12
- data/lib/gemsmith/aids/spec.rb +0 -46
- data/lib/gemsmith/configuration.rb +0 -200
- data/lib/gemsmith/rake/build.rb +0 -38
- data/lib/gemsmith/skeletons/base_skeleton.rb +0 -29
- data/lib/gemsmith/skeletons/bundler_skeleton.rb +0 -15
- data/lib/gemsmith/skeletons/cli_skeleton.rb +0 -16
- data/lib/gemsmith/skeletons/documentation_skeleton.rb +0 -28
- data/lib/gemsmith/skeletons/gem_skeleton.rb +0 -17
- data/lib/gemsmith/skeletons/git_hub_skeleton.rb +0 -14
- data/lib/gemsmith/skeletons/guard_skeleton.rb +0 -13
- data/lib/gemsmith/skeletons/pry_skeleton.rb +0 -13
- data/lib/gemsmith/skeletons/rails_skeleton.rb +0 -61
- data/lib/gemsmith/skeletons/rake_skeleton.rb +0 -37
- data/lib/gemsmith/skeletons/rspec_skeleton.rb +0 -26
- data/lib/gemsmith/skeletons/rubocop_skeleton.rb +0 -15
- data/lib/gemsmith/skeletons/travis_skeleton.rb +0 -13
- data/lib/gemsmith/templates/%gem_name%/lib/%gem_name%.rb.tt +0 -6
- data/lib/gemsmith/templates/%gem_name%/lib/%gem_name%/cli.rb.tt +0 -40
- data/lib/gemsmith/templates/%gem_name%/lib/tasks/console.rake.tt +0 -7
- data/lib/gemsmith/templates/%gem_name%/spec/lib/%gem_name%/%gem_name%_spec.rb.tt +0 -7
- data/lib/gemsmith/templates/%gem_name%/spec/support/extensions/pry.rb.tt +0 -5
- data/lib/gemsmith/templates/%gem_name%/spec/support/kit/default_config.rb.tt +0 -18
- data/lib/gemsmith/templates/%gem_name%/spec/support/kit/stderr.rb.tt +0 -9
- data/lib/gemsmith/templates/%gem_name%/spec/support/kit/stdout.rb.tt +0 -9
- data/lib/gemsmith/templates/%gem_name%/spec/support/kit/temp_dir.rb.tt +0 -25
- data/lib/tasks/console.rake +0 -7
metadata.gz.sig
CHANGED
|
Binary file
|
data/lib/gemsmith/aids/git.rb
DELETED
data/lib/gemsmith/aids/spec.rb
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "open3"
|
|
4
|
-
|
|
5
|
-
module Gemsmith
|
|
6
|
-
module Aids
|
|
7
|
-
# A convenience aid to the Gem::Specification object.
|
|
8
|
-
# DEPRECATED: Will be removed in the next major release. Use `GemSpec` instead.
|
|
9
|
-
class Spec
|
|
10
|
-
def initialize specification: ::Gem::Specification, shell: Open3
|
|
11
|
-
@specification = specification
|
|
12
|
-
@shell = shell
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def editor
|
|
16
|
-
ENV["EDITOR"]
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def open spec = nil
|
|
20
|
-
return unless spec
|
|
21
|
-
shell.capture2 editor, spec.full_gem_path
|
|
22
|
-
spec.full_gem_path
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def read spec = nil
|
|
26
|
-
return unless spec
|
|
27
|
-
return if spec.homepage.nil? || spec.homepage.empty?
|
|
28
|
-
|
|
29
|
-
shell.capture2 "open", spec.homepage
|
|
30
|
-
spec.homepage
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def find name, version
|
|
34
|
-
specification.find_by_name name, version
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def find_all name
|
|
38
|
-
specification.find_all_by_name name
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
private
|
|
42
|
-
|
|
43
|
-
attr_reader :specification, :shell
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "refinements/string_extensions"
|
|
4
|
-
|
|
5
|
-
module Gemsmith
|
|
6
|
-
# Default configuration for gem with support for custom settings.
|
|
7
|
-
class Configuration
|
|
8
|
-
using Refinements::StringExtensions
|
|
9
|
-
|
|
10
|
-
attr_reader :gem_name, :gem_class, :file_path
|
|
11
|
-
attr_writer :gem_platform, :gem_home_url, :gem_license, :gem_private_key, :gem_public_key, :author_name,
|
|
12
|
-
:author_email, :author_url, :organization_name, :organization_email, :organization_url,
|
|
13
|
-
:ruby_version, :rails_version, :create_cli, :create_rails, :create_security, :create_pry,
|
|
14
|
-
:create_guard, :create_rspec, :create_rubocop, :create_git_hub, :create_code_climate,
|
|
15
|
-
:create_gemnasium, :create_travis, :create_patreon, :github_user, :year
|
|
16
|
-
|
|
17
|
-
def initialize gem_name: "unknown",
|
|
18
|
-
gem_class: "Unknown",
|
|
19
|
-
git: Aids::Git,
|
|
20
|
-
file_path: File.join(ENV["HOME"], Identity.file_name)
|
|
21
|
-
|
|
22
|
-
@gem_name = gem_name.snakecase
|
|
23
|
-
@gem_class = gem_class.camelcase
|
|
24
|
-
@file_path = file_path
|
|
25
|
-
@git = git
|
|
26
|
-
@settings = load_settings
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def gem_platform
|
|
30
|
-
@gem_platform || settings_group(:gem).fetch(:platform, "Gem::Platform::RUBY")
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def gem_home_url
|
|
34
|
-
@gem_home_url || settings_group(:gem).fetch(:home_url, github_gem_url)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def gem_license
|
|
38
|
-
@gem_license || settings_group(:gem).fetch(:license, "MIT")
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def gem_private_key
|
|
42
|
-
@gem_private_key || settings_group(:gem).fetch(:private_key, "~/.ssh/gem-private.pem")
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def gem_public_key
|
|
46
|
-
@gem_public_key || settings_group(:gem).fetch(:public_key, "~/.ssh/gem-public.pem")
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def author_name
|
|
50
|
-
@author_name || settings_group(:author).fetch(:name, git.config_value("user.name"))
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def author_email
|
|
54
|
-
@author_email || settings_group(:author).fetch(:email, git.config_value("user.email"))
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def author_url
|
|
58
|
-
@author_url || settings_group(:author).fetch(:url, "")
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def organization_name
|
|
62
|
-
@organization_name || settings_group(:organization).fetch(:name, "")
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def organization_url
|
|
66
|
-
@organization_url || settings_group(:organization).fetch(:url, "")
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def ruby_version
|
|
70
|
-
@ruby_version || settings_group(:versions).fetch(:ruby, RUBY_VERSION)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def rails_version
|
|
74
|
-
@rails_version || settings_group(:versions).fetch(:rails, "4.2")
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def create_cli?
|
|
78
|
-
parse_boolean @create_cli, :create, :cli, false
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def create_rails?
|
|
82
|
-
parse_boolean @create_rails, :create, :rails, false
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def create_security?
|
|
86
|
-
parse_boolean @create_security, :create, :security, true
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def create_pry?
|
|
90
|
-
parse_boolean @create_pry, :create, :pry, true
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def create_guard?
|
|
94
|
-
parse_boolean @create_guard, :create, :guard, true
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def create_rspec?
|
|
98
|
-
parse_boolean @create_rspec, :create, :rspec, true
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def create_git_hub?
|
|
102
|
-
parse_boolean @create_git_hub, :create, :git_hub, false
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def create_rubocop?
|
|
106
|
-
parse_boolean @create_rubocop, :create, :rubocop, true
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
def create_code_climate?
|
|
110
|
-
parse_boolean @create_code_climate, :create, :code_climate, true
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
def create_gemnasium?
|
|
114
|
-
parse_boolean @create_gemnasium, :create, :gemnasium, true
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
def create_travis?
|
|
118
|
-
parse_boolean @create_travis, :create, :travis, true
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
def create_patreon?
|
|
122
|
-
parse_boolean @create_patreon, :create, :patreon, true
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
def github_user
|
|
126
|
-
@github_user || settings.fetch(:github_user, git.config_value("github.user"))
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
def year
|
|
130
|
-
@year || settings.fetch(:year, Time.now.year)
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def to_h
|
|
134
|
-
{
|
|
135
|
-
year: year,
|
|
136
|
-
github_user: github_user,
|
|
137
|
-
gem: {
|
|
138
|
-
name: gem_name,
|
|
139
|
-
class: gem_class,
|
|
140
|
-
platform: gem_platform,
|
|
141
|
-
home_url: gem_home_url,
|
|
142
|
-
license: gem_license,
|
|
143
|
-
private_key: gem_private_key,
|
|
144
|
-
public_key: gem_public_key
|
|
145
|
-
},
|
|
146
|
-
author: {
|
|
147
|
-
name: author_name,
|
|
148
|
-
email: author_email,
|
|
149
|
-
url: author_url
|
|
150
|
-
},
|
|
151
|
-
organization: {
|
|
152
|
-
name: organization_name,
|
|
153
|
-
url: organization_url
|
|
154
|
-
},
|
|
155
|
-
versions: {
|
|
156
|
-
ruby: ruby_version,
|
|
157
|
-
rails: rails_version
|
|
158
|
-
},
|
|
159
|
-
create: {
|
|
160
|
-
cli: create_cli?,
|
|
161
|
-
rails: create_rails?,
|
|
162
|
-
security: create_security?,
|
|
163
|
-
pry: create_pry?,
|
|
164
|
-
guard: create_guard?,
|
|
165
|
-
rspec: create_rspec?,
|
|
166
|
-
rubocop: create_rubocop?,
|
|
167
|
-
git_hub: create_git_hub?,
|
|
168
|
-
code_climate: create_code_climate?,
|
|
169
|
-
gemnasium: create_gemnasium?,
|
|
170
|
-
travis: create_travis?,
|
|
171
|
-
patreon: create_patreon?
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
private
|
|
177
|
-
|
|
178
|
-
attr_reader :gem_parser, :git, :settings
|
|
179
|
-
|
|
180
|
-
def load_settings
|
|
181
|
-
return {} unless File.exist?(file_path)
|
|
182
|
-
yaml = YAML.load_file file_path
|
|
183
|
-
yaml.is_a?(Hash) ? yaml : {}
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
def settings_group key
|
|
187
|
-
settings.fetch key, {}
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
def parse_boolean variable, group_key, item_key, default_value
|
|
191
|
-
return variable if [true, false].include?(variable)
|
|
192
|
-
settings_group(group_key).fetch item_key, default_value
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
def github_gem_url
|
|
196
|
-
return "" if github_user.nil?
|
|
197
|
-
"https://github.com/#{github_user}/#{gem_name}"
|
|
198
|
-
end
|
|
199
|
-
end
|
|
200
|
-
end
|
data/lib/gemsmith/rake/build.rb
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "bundler/ui/shell"
|
|
4
|
-
require "tocer"
|
|
5
|
-
|
|
6
|
-
module Gemsmith
|
|
7
|
-
module Rake
|
|
8
|
-
# Provides gem build functionality. Meant to be wrapped in Rake tasks.
|
|
9
|
-
class Build
|
|
10
|
-
def initialize tocer: Tocer::Writer, shell: Bundler::UI::Shell, kernel: Kernel
|
|
11
|
-
@tocer = tocer
|
|
12
|
-
@shell = shell.new
|
|
13
|
-
@kernel = kernel
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def doc
|
|
17
|
-
readme = File.join Dir.pwd, "README.md"
|
|
18
|
-
tocer.new(readme).write
|
|
19
|
-
shell.confirm "Updated gem documentation."
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def clean
|
|
23
|
-
FileUtils.rm_rf "pkg"
|
|
24
|
-
shell.confirm "Cleaned gem artifacts."
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def validate
|
|
28
|
-
return if `git status --porcelain`.empty?
|
|
29
|
-
shell.error "Build failed: Gem has uncommitted changes."
|
|
30
|
-
kernel.exit 1
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
private
|
|
34
|
-
|
|
35
|
-
attr_reader :tocer, :shell, :kernel
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Gemsmith
|
|
4
|
-
module Skeletons
|
|
5
|
-
# Abstract class from which all skeletons inherit from.
|
|
6
|
-
class BaseSkeleton
|
|
7
|
-
def initialize cli, configuration: Configuration.new
|
|
8
|
-
@cli = cli
|
|
9
|
-
@configuration = configuration
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.create cli, configuration: Configuration.new
|
|
13
|
-
new(cli, configuration: configuration).create
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def create
|
|
17
|
-
fail NotImplementedError, "The method, #create, is not implemented yet."
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
protected
|
|
21
|
-
|
|
22
|
-
attr_reader :cli, :configuration
|
|
23
|
-
|
|
24
|
-
def lib_root
|
|
25
|
-
"%gem_name%/lib"
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Gemsmith
|
|
4
|
-
module Skeletons
|
|
5
|
-
# Configures Bundler support.
|
|
6
|
-
class BundlerSkeleton < BaseSkeleton
|
|
7
|
-
def create
|
|
8
|
-
Dir.chdir(File.join(cli.destination_root, configuration.gem_name)) do
|
|
9
|
-
cli.info "Installing gem dependencies..."
|
|
10
|
-
`bundle install`
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Gemsmith
|
|
4
|
-
module Skeletons
|
|
5
|
-
# Configures Command Line Interface (CLI) support.
|
|
6
|
-
class CLISkeleton < BaseSkeleton
|
|
7
|
-
def create
|
|
8
|
-
return unless configuration.create_cli?
|
|
9
|
-
|
|
10
|
-
cli.template "%gem_name%/bin/%gem_name%.tt", configuration.to_h
|
|
11
|
-
cli.template "%gem_name%/lib/%gem_name%/cli.rb.tt", configuration.to_h
|
|
12
|
-
cli.chmod "#{configuration.gem_name}/bin/#{configuration.gem_name}", 0755
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "tocer"
|
|
4
|
-
|
|
5
|
-
module Gemsmith
|
|
6
|
-
module Skeletons
|
|
7
|
-
# Configures documentation support.
|
|
8
|
-
class DocumentationSkeleton < BaseSkeleton
|
|
9
|
-
def create_files
|
|
10
|
-
cli.template "%gem_name%/README.md.tt", configuration.to_h
|
|
11
|
-
cli.template "%gem_name%/CONTRIBUTING.md.tt", configuration.to_h
|
|
12
|
-
cli.template "%gem_name%/CODE_OF_CONDUCT.md.tt", configuration.to_h
|
|
13
|
-
cli.template "%gem_name%/LICENSE.md.tt", configuration.to_h
|
|
14
|
-
cli.template "%gem_name%/CHANGELOG.md.tt", configuration.to_h
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def update_readme
|
|
18
|
-
file = File.join cli.destination_root, configuration.gem_name, "README.md"
|
|
19
|
-
Tocer::Writer.new(file).write
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def create
|
|
23
|
-
create_files
|
|
24
|
-
update_readme
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Gemsmith
|
|
4
|
-
module Skeletons
|
|
5
|
-
# Configures default gem support.
|
|
6
|
-
class GemSkeleton < BaseSkeleton
|
|
7
|
-
def create
|
|
8
|
-
cli.template "%gem_name%/bin/setup.tt", configuration.to_h
|
|
9
|
-
cli.template "%gem_name%/Gemfile.tt", configuration.to_h
|
|
10
|
-
cli.template "%gem_name%/%gem_name%.gemspec.tt", configuration.to_h
|
|
11
|
-
cli.template "#{lib_root}/%gem_name%.rb.tt", configuration.to_h
|
|
12
|
-
cli.template "#{lib_root}/%gem_name%/identity.rb.tt", configuration.to_h
|
|
13
|
-
cli.chmod "#{configuration.gem_name}/bin/setup", 0755
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Gemsmith
|
|
4
|
-
module Skeletons
|
|
5
|
-
# Configures GitHub support.
|
|
6
|
-
class GitHubSkeleton < BaseSkeleton
|
|
7
|
-
def create
|
|
8
|
-
return unless configuration.create_git_hub?
|
|
9
|
-
cli.template "%gem_name%/.github/ISSUE_TEMPLATE.md.tt", configuration.to_h
|
|
10
|
-
cli.template "%gem_name%/.github/PULL_REQUEST_TEMPLATE.md.tt", configuration.to_h
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Gemsmith
|
|
4
|
-
module Skeletons
|
|
5
|
-
# Configures Guard support.
|
|
6
|
-
class GuardSkeleton < BaseSkeleton
|
|
7
|
-
def create
|
|
8
|
-
return unless configuration.create_guard?
|
|
9
|
-
cli.template "%gem_name%/Guardfile.tt", configuration.to_h
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|