gemsmith 5.2.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/gemsmith.png)](http://badge.fury.io/rb/gemsmith)
|
4
4
|
[![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/gemsmith.png)](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
|
[![Gem Version](https://badge.fury.io/rb/<%= config[:gem_name] %>.png)](http://badge.fury.io/rb/<%= config[:gem_name] %>)
|
4
4
|
<%- if config[:code_climate] -%>
|
@@ -12,6 +12,9 @@
|
|
12
12
|
[![Travis CI Status](https://secure.travis-ci.org/<%= config[:github_user] %>/<%= config[:gem_name] %>.png)](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
|