gemsmith 5.2.0 → 5.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.tar.gz.sig +0 -0
- data/README.md +23 -1
- data/lib/gemsmith/cli.rb +4 -0
- data/lib/gemsmith/identity.rb +1 -1
- data/lib/gemsmith/skeletons/bundler_skeleton.rb +12 -0
- data/lib/gemsmith/skeletons/default_skeleton.rb +0 -1
- data/lib/gemsmith/skeletons/documentation_skeleton.rb +1 -0
- data/lib/gemsmith/skeletons/git_skeleton.rb +5 -1
- data/lib/gemsmith/templates/%gem_name%/%gem_name%.gemspec.tt +1 -0
- data/lib/gemsmith/templates/%gem_name%/CODE_OF_CONDUCT.md.tt +33 -0
- data/lib/gemsmith/templates/%gem_name%/README.md.tt +11 -2
- data/lib/gemsmith/templates/%gem_name%/lib/%gem_name%/cli.rb.tt +4 -2
- data/lib/gemsmith/templates/%gem_name%/spec/%gem_name%_spec.rb.tt +2 -2
- data/lib/gemsmith/templates/%gem_name%/spec/spec_helper.rb.tt +1 -0
- metadata +18 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e6492cee97fb77e9c3e7200512a746c31d04d0a
|
4
|
+
data.tar.gz: db448eb8883cbeac936da5a443bfa625f623695e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdabea344ce173819a595e8b4d5685cb0e6a336ca5a415b1ee13a2e8013c4ad0a100fdc35ff8ab29fa4d1ec61fe70736d8273ab03f29af2d457d85566b6e228d
|
7
|
+
data.tar.gz: d035b0e6c5729477081a3664ebd393ab7eced5363c1c37bdb1e988555299d53030164f24c62ed1bcb26f7d42f34b23d55ed1b042eadb91985aa1a638a1b0405f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# Gemsmith
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/gemsmith)
|
4
4
|
[](https://codeclimate.com/github/bkuhlmann/gemsmith)
|
@@ -9,6 +9,28 @@
|
|
9
9
|
|
10
10
|
Gemsmith allows you to easily craft new gems via the command line with custom settings (if desired).
|
11
11
|
|
12
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
13
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
14
|
+
# Table of Contents
|
15
|
+
|
16
|
+
- [Features](#features)
|
17
|
+
- [Requirements](#requirements)
|
18
|
+
- [Setup](#setup)
|
19
|
+
- [Usage](#usage)
|
20
|
+
- [Tests](#tests)
|
21
|
+
- [Security](#security)
|
22
|
+
- [Best Practices](#best-practices)
|
23
|
+
- [Documentation](#documentation)
|
24
|
+
- [Promotion](#promotion)
|
25
|
+
- [Versioning](#versioning)
|
26
|
+
- [Code of Conduct](#code-of-conduct)
|
27
|
+
- [Contributions](#contributions)
|
28
|
+
- [License](#license)
|
29
|
+
- [History](#history)
|
30
|
+
- [Credits](#credits)
|
31
|
+
|
32
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
33
|
+
|
12
34
|
# Features
|
13
35
|
|
14
36
|
- Builds a gem skeleton with Bundler functionality in mind.
|
data/lib/gemsmith/cli.rb
CHANGED
@@ -5,6 +5,7 @@ require "thor_plus/actions"
|
|
5
5
|
require "gemsmith/cli_options"
|
6
6
|
require "gemsmith/cli_helpers"
|
7
7
|
require "gemsmith/skeletons/base_skeleton"
|
8
|
+
require "gemsmith/skeletons/bundler_skeleton"
|
8
9
|
require "gemsmith/skeletons/cli_skeleton"
|
9
10
|
require "gemsmith/skeletons/default_skeleton"
|
10
11
|
require "gemsmith/skeletons/documentation_skeleton"
|
@@ -21,6 +22,8 @@ module Gemsmith
|
|
21
22
|
include CLIOptions
|
22
23
|
include CLIHelpers
|
23
24
|
|
25
|
+
package_name Gemsmith::Identity.label
|
26
|
+
|
24
27
|
# Overwrites the Thor template source root.
|
25
28
|
def self.source_root
|
26
29
|
File.expand_path File.join(File.dirname(__FILE__), "templates")
|
@@ -57,6 +60,7 @@ module Gemsmith
|
|
57
60
|
Skeletons::RspecSkeleton.run(self) if template_options[:rspec]
|
58
61
|
Skeletons::GuardSkeleton.run(self) if template_options[:guard]
|
59
62
|
Skeletons::TravisSkeleton.run(self) if template_options[:travis]
|
63
|
+
Skeletons::BundlerSkeleton.run self
|
60
64
|
Skeletons::GitSkeleton.run self
|
61
65
|
|
62
66
|
info "Gem created."
|
data/lib/gemsmith/identity.rb
CHANGED
@@ -2,7 +2,6 @@ module Gemsmith
|
|
2
2
|
module Skeletons
|
3
3
|
class DefaultSkeleton < BaseSkeleton
|
4
4
|
def create_default_files
|
5
|
-
template "%gem_name%/Gemfile.tt", template_options
|
6
5
|
template "%gem_name%/Rakefile.tt", template_options
|
7
6
|
template "%gem_name%/%gem_name%.gemspec.tt", template_options
|
8
7
|
template "#{lib_root}/%gem_name%.rb.tt", template_options
|
@@ -4,6 +4,7 @@ module Gemsmith
|
|
4
4
|
def create_files
|
5
5
|
template "%gem_name%/README.md.tt", template_options
|
6
6
|
template "%gem_name%/CONTRIBUTING.md.tt", template_options
|
7
|
+
template "%gem_name%/CODE_OF_CONDUCT.md.tt", template_options
|
7
8
|
template "%gem_name%/LICENSE.md.tt", template_options
|
8
9
|
template "%gem_name%/CHANGELOG.md.tt", template_options
|
9
10
|
end
|
@@ -2,10 +2,14 @@ module Gemsmith
|
|
2
2
|
module Skeletons
|
3
3
|
class GitSkeleton < BaseSkeleton
|
4
4
|
def create_files
|
5
|
+
template "%gem_name%/Gemfile.tt", template_options
|
6
|
+
end
|
7
|
+
|
8
|
+
def create_repository
|
5
9
|
Dir.chdir(File.join(destination_root, gem_name)) do
|
6
10
|
`git init`
|
7
11
|
`git add .`
|
8
|
-
`git commit
|
12
|
+
`git commit --all --no-verify --message "Added Gemsmith skeleton."`
|
9
13
|
end
|
10
14
|
end
|
11
15
|
end
|
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
<%- if config[:pry] -%>
|
37
37
|
spec.add_development_dependency "pry"
|
38
38
|
spec.add_development_dependency "pry-byebug"
|
39
|
+
spec.add_development_dependency "pry-state"
|
39
40
|
spec.add_development_dependency "pry-stack_explorer"
|
40
41
|
spec.add_development_dependency "pry-remote"
|
41
42
|
spec.add_development_dependency "pry-rescue"
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we
|
4
|
+
pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation,
|
5
|
+
submitting pull requests or patches, and other activities.
|
6
|
+
|
7
|
+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level
|
8
|
+
of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size,
|
9
|
+
race, ethnicity, age, religion, or nationality.
|
10
|
+
|
11
|
+
Examples of unacceptable behavior by participants include:
|
12
|
+
|
13
|
+
* The use of sexualized language or imagery
|
14
|
+
* Personal attacks
|
15
|
+
* Trolling or insulting/derogatory comments
|
16
|
+
* Public or private harassment
|
17
|
+
* Publishing other's private information, such as physical or electronic addresses, without explicit permission
|
18
|
+
* Other unethical or unprofessional conduct.
|
19
|
+
|
20
|
+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
|
21
|
+
issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project
|
22
|
+
maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this
|
23
|
+
project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the
|
24
|
+
project team.
|
25
|
+
|
26
|
+
This code of conduct applies both within project spaces and in public spaces when an individual is representing the
|
27
|
+
project or its community.
|
28
|
+
|
29
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting
|
30
|
+
one or more of the project maintainers.
|
31
|
+
|
32
|
+
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
|
33
|
+
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# <%= config[:gem_class] %>
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/<%= config[:gem_name] %>)
|
4
4
|
<%- if config[:code_climate] -%>
|
@@ -12,6 +12,9 @@
|
|
12
12
|
[](http://travis-ci.org/<%= config[:github_user] %>/<%= config[:gem_name] %>)
|
13
13
|
<%- end -%>
|
14
14
|
|
15
|
+
<!-- START doctoc - For use by DocToc (https://github.com/thlorenz/doctoc), autogenerates the table of contents -->
|
16
|
+
<!-- END doctoc -->
|
17
|
+
|
15
18
|
# Features
|
16
19
|
|
17
20
|
# Requirements
|
@@ -22,7 +25,8 @@
|
|
22
25
|
|
23
26
|
# Setup
|
24
27
|
|
25
|
-
|
28
|
+
<%- if config[:security] -%>
|
29
|
+
For a secure install, type the following (recommended):
|
26
30
|
|
27
31
|
gem cert --add <(curl -Ls http://www.my-website.com/gem-public.pem)
|
28
32
|
gem install <%= config[:gem_name] %> --trust-policy MediumSecurity
|
@@ -33,6 +37,11 @@ allowing the installation of unsigned dependencies since they are beyond the sco
|
|
33
37
|
For an insecure install, type the following (not recommended):
|
34
38
|
|
35
39
|
gem install <%= config[:gem_name] %>
|
40
|
+
<%- else -%>
|
41
|
+
To install, type the following:
|
42
|
+
|
43
|
+
gem install <%= config[:gem_name] %>
|
44
|
+
<%- end -%>
|
36
45
|
|
37
46
|
<%- if config[:rails] -%>
|
38
47
|
Add the following to your Gemfile:
|
@@ -5,8 +5,10 @@ require "thor_plus/actions"
|
|
5
5
|
|
6
6
|
module <%= config[:gem_class] %>
|
7
7
|
class CLI < Thor
|
8
|
-
|
9
|
-
|
8
|
+
include Thor::Actions
|
9
|
+
include ThorPlus::Actions
|
10
|
+
|
11
|
+
package_name <%= config[:gem_class] %>::Identity.label
|
10
12
|
|
11
13
|
# Initialize.
|
12
14
|
def initialize args = [], options = {}, config = {}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemsmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
|
31
31
|
xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2015-
|
33
|
+
date: 2015-08-03 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: thor
|
@@ -116,6 +116,20 @@ dependencies:
|
|
116
116
|
- - ">="
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '0'
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: pry-state
|
121
|
+
requirement: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
type: :development
|
127
|
+
prerelease: false
|
128
|
+
version_requirements: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
119
133
|
- !ruby/object:Gem::Dependency
|
120
134
|
name: pry-stack_explorer
|
121
135
|
requirement: !ruby/object:Gem::Requirement
|
@@ -263,6 +277,7 @@ files:
|
|
263
277
|
- lib/gemsmith/identity.rb
|
264
278
|
- lib/gemsmith/kit.rb
|
265
279
|
- lib/gemsmith/skeletons/base_skeleton.rb
|
280
|
+
- lib/gemsmith/skeletons/bundler_skeleton.rb
|
266
281
|
- lib/gemsmith/skeletons/cli_skeleton.rb
|
267
282
|
- lib/gemsmith/skeletons/default_skeleton.rb
|
268
283
|
- lib/gemsmith/skeletons/documentation_skeleton.rb
|
@@ -277,6 +292,7 @@ files:
|
|
277
292
|
- lib/gemsmith/templates/%gem_name%/.ruby-version.tt
|
278
293
|
- lib/gemsmith/templates/%gem_name%/.travis.yml.tt
|
279
294
|
- lib/gemsmith/templates/%gem_name%/CHANGELOG.md.tt
|
295
|
+
- lib/gemsmith/templates/%gem_name%/CODE_OF_CONDUCT.md.tt
|
280
296
|
- lib/gemsmith/templates/%gem_name%/CONTRIBUTING.md.tt
|
281
297
|
- lib/gemsmith/templates/%gem_name%/Gemfile.tt
|
282
298
|
- lib/gemsmith/templates/%gem_name%/Guardfile.tt
|
metadata.gz.sig
CHANGED
Binary file
|