gem_bootstrap 0.2.3 → 0.2.4
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.
- data/.rubocop.yml +0 -87
- data/CHANGELOG.md +6 -1
- data/Gemfile +1 -1
- data/Rakefile +10 -10
- data/bin/gem_bootstrap +2 -2
- data/gem_bootstrap.gemspec +32 -30
- data/lib/gem_bootstrap.rb +5 -5
- data/lib/gem_bootstrap/cli.rb +14 -15
- data/lib/gem_bootstrap/gem_bootstrap.rb +7 -7
- data/lib/gem_bootstrap/git_utils.rb +7 -7
- data/lib/gem_bootstrap/misc_utils.rb +7 -7
- data/lib/gem_bootstrap/version.rb +1 -1
- data/templates/Guardfile-rspec +1 -1
- data/templates/dot_rubocop.yml +1 -70
- data/test/lib/gem_bootstrap/test_gem_bootstrap.rb +4 -4
- data/test/test_helper.rb +7 -7
- metadata +79 -49
- checksums.yaml +0 -7
data/.rubocop.yml
CHANGED
@@ -8,90 +8,3 @@ AllCops:
|
|
8
8
|
- test/**/*.rb
|
9
9
|
Exclude:
|
10
10
|
- templates/**/*
|
11
|
-
# Avoid long parameter lists
|
12
|
-
ParameterLists:
|
13
|
-
Max: 5
|
14
|
-
CountKeywordArgs: true
|
15
|
-
|
16
|
-
MethodLength:
|
17
|
-
CountComments: false
|
18
|
-
Max: 15
|
19
|
-
|
20
|
-
# Avoid more than `Max` levels of nesting.
|
21
|
-
BlockNesting:
|
22
|
-
Max: 4
|
23
|
-
|
24
|
-
# Align with the style guide.
|
25
|
-
CollectionMethods:
|
26
|
-
PreferredMethods:
|
27
|
-
collect: 'map'
|
28
|
-
inject: 'reduce'
|
29
|
-
find: 'detect'
|
30
|
-
find_all: 'select'
|
31
|
-
|
32
|
-
# Do not force public/protected/private keyword to be indented at the same
|
33
|
-
# level as the def keyword. My personal preference is to outdent these keywords
|
34
|
-
# because I think when scanning code it makes it easier to identify the
|
35
|
-
# sections of code and visually separate them. When the keyword is at the same
|
36
|
-
# level I think it sort of blends in with the def keywords and makes it harder
|
37
|
-
# to scan the code and see where the sections are.
|
38
|
-
AccessModifierIndentation:
|
39
|
-
Enabled: false
|
40
|
-
|
41
|
-
# Limit line length
|
42
|
-
LineLength:
|
43
|
-
Enabled: false
|
44
|
-
|
45
|
-
# Disable documentation checking until a class needs to be documented once
|
46
|
-
Documentation:
|
47
|
-
Enabled: false
|
48
|
-
|
49
|
-
# Enforce Ruby 1.8-compatible hash syntax
|
50
|
-
HashSyntax:
|
51
|
-
Enabled: true
|
52
|
-
|
53
|
-
# No spaces inside hash literals
|
54
|
-
SpaceInsideHashLiteralBraces:
|
55
|
-
EnforcedStyle: no_space
|
56
|
-
|
57
|
-
# Allow dots at the end of lines
|
58
|
-
DotPosition:
|
59
|
-
Enabled: false
|
60
|
-
|
61
|
-
# Don't require magic comment at the top of every file
|
62
|
-
Encoding:
|
63
|
-
Enabled: false
|
64
|
-
|
65
|
-
# Enforce outdenting of access modifiers (i.e. public, private, protected)
|
66
|
-
AccessModifierIndentation:
|
67
|
-
EnforcedStyle: outdent
|
68
|
-
|
69
|
-
EmptyLinesAroundAccessModifier:
|
70
|
-
Enabled: true
|
71
|
-
|
72
|
-
# Align ends correctly
|
73
|
-
EndAlignment:
|
74
|
-
AlignWith: variable
|
75
|
-
|
76
|
-
# Indentation of when/else
|
77
|
-
CaseIndentation:
|
78
|
-
IndentWhenRelativeTo: end
|
79
|
-
IndentOneStep: false
|
80
|
-
|
81
|
-
DoubleNegation:
|
82
|
-
Enabled: false
|
83
|
-
|
84
|
-
PercentLiteralDelimiters:
|
85
|
-
PreferredDelimiters:
|
86
|
-
'%': ()
|
87
|
-
'%i': ()
|
88
|
-
'%q': ()
|
89
|
-
'%Q': ()
|
90
|
-
'%r': '{}'
|
91
|
-
'%s': ()
|
92
|
-
'%w': '[]'
|
93
|
-
'%W': '[]'
|
94
|
-
'%x': ()
|
95
|
-
|
96
|
-
StringLiterals:
|
97
|
-
EnforcedStyle: double_quotes
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,11 @@
|
|
1
|
+
#### 0.2.4
|
2
|
+
|
3
|
+
- Merge 2nd pull request by [Nick den Engelsman][] - Thanks!
|
4
|
+
|
1
5
|
#### 0.2.3
|
2
6
|
|
3
7
|
- Add option for specifying RSpec or Minitest as testing framework.
|
4
|
-
-
|
8
|
+
- First pull request by [Nick den Engelsman][]
|
5
9
|
- Add the missing activesupport-core-ext
|
6
10
|
|
7
11
|
#### 0.2.2
|
@@ -44,3 +48,4 @@
|
|
44
48
|
- Initial release
|
45
49
|
|
46
50
|
[Symantic Versioning]: http://semver.org
|
51
|
+
[Nick den Engelsman]: https://github.com/nicka
|
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
gemspec
|
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
project_name =
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rake/testtask'
|
3
|
+
project_name = 'gem_bootstrap'
|
4
4
|
Rake::TestTask.new do |t|
|
5
5
|
t.libs << "lib/#{project_name}"
|
6
6
|
t.test_files = FileList["test/lib/#{project_name}/test_*.rb"]
|
@@ -9,18 +9,18 @@ end
|
|
9
9
|
task default: [:test, :rubocop]
|
10
10
|
|
11
11
|
task :pry do
|
12
|
-
require
|
13
|
-
require
|
14
|
-
require_relative
|
12
|
+
require 'pry'
|
13
|
+
require 'awesome_print'
|
14
|
+
require_relative 'lib/gem_bootstrap'
|
15
15
|
include GemBootstrap
|
16
16
|
ARGV.clear
|
17
17
|
Pry.start
|
18
18
|
end
|
19
19
|
|
20
|
-
require
|
21
|
-
desc
|
20
|
+
require 'rubocop/rake_task'
|
21
|
+
desc 'Run RuboCop on the lib directory'
|
22
22
|
RuboCop::RakeTask.new(:rubocop) do |task|
|
23
|
-
task.patterns = [
|
24
|
-
task.formatters = [
|
23
|
+
task.patterns = ['lib/**/*.rb']
|
24
|
+
task.formatters = ['files']
|
25
25
|
task.fail_on_error = false
|
26
26
|
end
|
data/bin/gem_bootstrap
CHANGED
data/gem_bootstrap.gemspec
CHANGED
@@ -1,45 +1,47 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
4
|
+
require 'gem_bootstrap/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'gem_bootstrap'
|
8
8
|
spec.version = GemBootstrap::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
13
|
-
|
14
|
-
|
15
|
-
spec.homepage =
|
16
|
-
spec.required_ruby_version =
|
17
|
-
spec.license =
|
18
|
-
spec.files = Dir.glob(
|
9
|
+
spec.authors = ['Burin Choomnuan']
|
10
|
+
spec.email = ['agilecreativity@gmail.com']
|
11
|
+
spec.summary = "Bootstrap the creation of ruby gem so that you don't have to start from scratch"
|
12
|
+
spec.description = "Bootstrap the creation of ruby gem so that you don't have to start from scratch.
|
13
|
+
Build with simple, sensible default and very easy to extend.
|
14
|
+
TL;DR; create new gem with `gem_bootstrap awesome_gem -g github_id -e your@email.com -a 'John Guru'`"
|
15
|
+
spec.homepage = 'https://github.com/agilecreativity/gem_bootstrap'
|
16
|
+
spec.required_ruby_version = '>= 1.9.3'
|
17
|
+
spec.license = 'MIT'
|
18
|
+
spec.files = Dir.glob('{bin,lib,templates}/**/*') + %w(Gemfile
|
19
19
|
Rakefile
|
20
20
|
gem_bootstrap.gemspec
|
21
21
|
README.md
|
22
22
|
CHANGELOG.md
|
23
23
|
LICENSE
|
24
24
|
.rubocop.yml
|
25
|
-
.gitignore
|
25
|
+
.gitignore)
|
26
26
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
27
|
-
spec.test_files = Dir.glob(
|
28
|
-
spec.require_paths = [
|
27
|
+
spec.test_files = Dir.glob('test/**/*')
|
28
|
+
spec.require_paths = ['lib']
|
29
29
|
|
30
|
-
|
31
|
-
spec.add_runtime_dependency
|
32
|
-
spec.add_runtime_dependency
|
30
|
+
# runtime dependencies
|
31
|
+
spec.add_runtime_dependency 'activesupport-core-ext', '~> 4.0.0.2'
|
32
|
+
spec.add_runtime_dependency 'grit', '~> 2.5.0'
|
33
|
+
spec.add_runtime_dependency 'thor', '~> 0.19.1'
|
33
34
|
|
34
|
-
|
35
|
-
spec.add_development_dependency
|
36
|
-
spec.add_development_dependency
|
37
|
-
spec.add_development_dependency
|
38
|
-
spec.add_development_dependency
|
39
|
-
spec.add_development_dependency
|
40
|
-
spec.add_development_dependency
|
41
|
-
spec.add_development_dependency
|
42
|
-
spec.add_development_dependency
|
43
|
-
spec.add_development_dependency
|
44
|
-
spec.add_development_dependency
|
35
|
+
# development dependencies
|
36
|
+
spec.add_development_dependency 'awesome_print', '~> 1.2.0'
|
37
|
+
spec.add_development_dependency 'bundler', '~> 1.7.0'
|
38
|
+
spec.add_development_dependency 'gem-ctags', '~> 1.0.6'
|
39
|
+
spec.add_development_dependency 'guard', '~> 2.6.1'
|
40
|
+
spec.add_development_dependency 'guard-minitest', '~> 2.3.1'
|
41
|
+
spec.add_development_dependency 'minitest', '~> 5.4.0'
|
42
|
+
spec.add_development_dependency 'minitest-spec-context', '~> 0.0.3'
|
43
|
+
spec.add_development_dependency 'pry', '~> 0.10.0'
|
44
|
+
spec.add_development_dependency 'rake', '~> 10.3.2'
|
45
|
+
spec.add_development_dependency 'rubocop', '~> 0.24.1'
|
46
|
+
spec.add_development_dependency 'yard', '~> 0.8.7'
|
45
47
|
end
|
data/lib/gem_bootstrap.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require_relative
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
1
|
+
require_relative './gem_bootstrap/version'
|
2
|
+
require_relative './gem_bootstrap/cli'
|
3
|
+
require_relative './gem_bootstrap/git_utils'
|
4
|
+
require_relative './gem_bootstrap/misc_utils'
|
5
|
+
require_relative './gem_bootstrap/gem_bootstrap'
|
6
6
|
include GemBootstrap
|
data/lib/gem_bootstrap/cli.rb
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
require
|
1
|
+
require 'thor'
|
2
2
|
require 'active_support'
|
3
3
|
require 'active_support/core_ext/object/blank'
|
4
4
|
require 'active_support/core_ext/hash/keys'
|
5
5
|
require 'active_support/core_ext/hash/indifferent_access'
|
6
|
-
require_relative
|
7
|
-
require_relative
|
6
|
+
require_relative './misc_utils'
|
7
|
+
require_relative './git_utils'
|
8
8
|
module GemBootstrap
|
9
9
|
# The common template directory
|
10
|
-
TEMPLATES_DIR =
|
10
|
+
TEMPLATES_DIR = '../../templates'
|
11
11
|
class CLI < Thor::Group
|
12
12
|
include Thor::Actions
|
13
13
|
argument :name
|
14
14
|
|
15
15
|
class_option :github_id,
|
16
|
-
aliases:
|
17
|
-
desc:
|
16
|
+
aliases: '-g',
|
17
|
+
desc: 'github profile id',
|
18
18
|
required: true
|
19
19
|
class_option :author,
|
20
|
-
aliases:
|
21
|
-
desc:
|
20
|
+
aliases: '-a',
|
21
|
+
desc: 'Full name of the author',
|
22
22
|
required: true
|
23
23
|
class_option :email,
|
24
|
-
aliases:
|
25
|
-
desc:
|
24
|
+
aliases: '-e',
|
25
|
+
desc: 'Email for github',
|
26
26
|
required: true
|
27
27
|
class_option :test_framework,
|
28
|
-
default:
|
29
|
-
aliases:
|
30
|
-
desc:
|
28
|
+
default: 'minitest',
|
29
|
+
aliases: '-t',
|
30
|
+
desc: 'minitest or rspec',
|
31
31
|
required: false
|
32
32
|
|
33
33
|
def self.source_root
|
@@ -48,7 +48,6 @@ module GemBootstrap
|
|
48
48
|
template "#{TEMPLATES_DIR}/lib/newgem/cli.rb", "#{name}/lib/#{name}/cli.rb"
|
49
49
|
template "#{TEMPLATES_DIR}/lib/newgem/newgem.rb", "#{name}/lib/#{name}/#{name}.rb"
|
50
50
|
|
51
|
-
# TODO: store this for code reuse
|
52
51
|
test_framework = options.symbolize_keys[:test_framework]
|
53
52
|
|
54
53
|
template "#{TEMPLATES_DIR}/Rakefile-#{test_framework}", "#{name}/Rakefile"
|
@@ -70,7 +69,7 @@ module GemBootstrap
|
|
70
69
|
# rubocop:enable all
|
71
70
|
|
72
71
|
def copy_licence
|
73
|
-
copy_file
|
72
|
+
copy_file '../../templates/MIT_LICENSE', "#{name}/LICENSE"
|
74
73
|
end
|
75
74
|
|
76
75
|
# Create the git project to store our generated code
|
@@ -1,13 +1,13 @@
|
|
1
|
-
require
|
2
|
-
require_relative
|
1
|
+
require 'thor'
|
2
|
+
require_relative './cli'
|
3
3
|
module GemBootstrap
|
4
4
|
class MainCLI < Thor
|
5
5
|
register GemBootstrap::CLI,
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
'generate',
|
7
|
+
'generate',
|
8
|
+
'Generate the starting template for CLI'
|
9
9
|
|
10
|
-
desc
|
10
|
+
desc 'usage', 'Display help screen'
|
11
11
|
def usage
|
12
12
|
generate_usage = <<-EOT
|
13
13
|
|
@@ -18,7 +18,7 @@ $gem_bootstrap [GEM_NAME] -g, --github-id [GITHUB_ID] -e, --email [EMAIL] -a, --
|
|
18
18
|
e.g. create a gem name 'awesome_gem'
|
19
19
|
$gem_bootstrap awesome_gem -g awesome_developer -e cool@awesomedev.com -a 'John Guru II'
|
20
20
|
|
21
|
-
Choose test framework --test-framework or -t (defaults to minitest)
|
21
|
+
Choose test framework --test-framework or -t (defaults to minitest)
|
22
22
|
$gem_bootstrap awesome_gem -g awesome_developer -e cool@awesomedev.com -a 'John Guru II' -t rspec
|
23
23
|
|
24
24
|
EOT
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'grit'
|
2
2
|
module GemBootstrap
|
3
3
|
class GitUtils
|
4
4
|
class << self
|
@@ -9,14 +9,14 @@ module GemBootstrap
|
|
9
9
|
def create_git_project(base_dir, gem_name)
|
10
10
|
base_dir = File.expand_path(base_dir) # so that it works with ~/codes/etc
|
11
11
|
files = MiscUtils.files base_dir: base_dir,
|
12
|
-
non_exts: %w
|
12
|
+
non_exts: %w(Gemfile
|
13
13
|
Rakefile
|
14
14
|
Guardfile
|
15
15
|
LICENSE
|
16
16
|
.rubocop.yml
|
17
17
|
.yardopts
|
18
|
-
.gitignore
|
19
|
-
exts: %w
|
18
|
+
.gitignore) << gem_name,
|
19
|
+
exts: %w(md rb gemspec yml),
|
20
20
|
recursive: true
|
21
21
|
git_init(base_dir: base_dir)
|
22
22
|
git_add(files, base_dir: base_dir, gem_name: gem_name)
|
@@ -29,19 +29,19 @@ module GemBootstrap
|
|
29
29
|
current_dir = File.expand_path(options[:base_dir])
|
30
30
|
base_dir = options[:base_dir] || Dir.pwd
|
31
31
|
Dir.chdir(base_dir)
|
32
|
-
MiscUtils.shell(%w
|
32
|
+
MiscUtils.shell(%w(git init) << base_dir)
|
33
33
|
Dir.chdir(current_dir)
|
34
34
|
end
|
35
35
|
|
36
36
|
def git_add(files, options = {})
|
37
37
|
base_dir = File.expand_path(options[:base_dir])
|
38
38
|
Dir.chdir(base_dir) do
|
39
|
-
git = Grit::Repo.new(File.expand_path(
|
39
|
+
git = Grit::Repo.new(File.expand_path('.'))
|
40
40
|
files.each do |file|
|
41
41
|
# puts "Add '#{file}' to repository"
|
42
42
|
git.add(file)
|
43
43
|
end
|
44
|
-
git.commit_index(
|
44
|
+
git.commit_index('Initial commit')
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'open3'
|
2
2
|
module GemBootstrap
|
3
3
|
class MiscUtils
|
4
4
|
CustomError = Class.new(StandardError)
|
@@ -10,7 +10,7 @@ module GemBootstrap
|
|
10
10
|
# @param [String] str the input string
|
11
11
|
def snake_case(str)
|
12
12
|
return str.downcase if str =~ /^[A-Z_]+$/
|
13
|
-
str.gsub(/\B[A-Z]/, '_\&').squeeze(
|
13
|
+
str.gsub(/\B[A-Z]/, '_\&').squeeze('_') =~ /_*(.*)/
|
14
14
|
$+.downcase
|
15
15
|
end
|
16
16
|
|
@@ -20,7 +20,7 @@ module GemBootstrap
|
|
20
20
|
# @param [String] str the input string
|
21
21
|
def camel_case(str)
|
22
22
|
return str if str !~ /_/ && str =~ /[A-Z]+.*/
|
23
|
-
str.split(
|
23
|
+
str.split('_').map { |i| i.capitalize }.join
|
24
24
|
end
|
25
25
|
|
26
26
|
# List files base on some extension
|
@@ -35,11 +35,11 @@ module GemBootstrap
|
|
35
35
|
base_dir = opts[:base_dir]
|
36
36
|
fail CustomError, "The directory #{base_dir} is not valid or or not readable!" unless File.exist?(base_dir)
|
37
37
|
|
38
|
-
wildcard = opts[:recursive] ?
|
38
|
+
wildcard = opts[:recursive] ? '**' : ''
|
39
39
|
exts = opts[:exts]
|
40
40
|
non_exts = opts[:non_exts]
|
41
41
|
|
42
|
-
file_with_extension = Dir.glob(File.join(base_dir, wildcard, "*.{#{exts.join(
|
42
|
+
file_with_extension = Dir.glob(File.join(base_dir, wildcard, "*.{#{exts.join(',')}}"))
|
43
43
|
file_with_no_extension = no_extension_files(base_dir, wildcard, non_exts)
|
44
44
|
|
45
45
|
(file_with_extension + file_with_no_extension).sort
|
@@ -51,7 +51,7 @@ module GemBootstrap
|
|
51
51
|
def no_extension_files(base_dir, wildcard, non_exts = [])
|
52
52
|
list = []
|
53
53
|
unless non_exts.empty?
|
54
|
-
list = Dir.glob(File.join(base_dir, wildcard, "{#{non_exts.join(
|
54
|
+
list = Dir.glob(File.join(base_dir, wildcard, "{#{non_exts.join(',')}}"))
|
55
55
|
end
|
56
56
|
list
|
57
57
|
end
|
@@ -62,7 +62,7 @@ module GemBootstrap
|
|
62
62
|
# @return [String] result of the command as the string
|
63
63
|
def shell(commands = [])
|
64
64
|
begin
|
65
|
-
command = commands.join(
|
65
|
+
command = commands.join(' ')
|
66
66
|
stdin, _stderr, _status = Open3.capture3(command)
|
67
67
|
rescue => e
|
68
68
|
raise "Problem processing #{command}, #{e.message}"
|
data/templates/Guardfile-rspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# A sample Guardfile
|
2
2
|
# More info at https://github.com/guard/guard#readme
|
3
|
-
guard :rspec, cmd: 'rspec' do
|
3
|
+
guard :rspec, cmd: 'rspec', all_on_start: true, all_after_pass: true do
|
4
4
|
watch(%r{^spec/.+_spec\.rb$})
|
5
5
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
6
6
|
watch('spec/spec_helper.rb') { "spec" }
|
data/templates/dot_rubocop.yml
CHANGED
@@ -7,73 +7,4 @@ AllCops:
|
|
7
7
|
- <%= name %>.gemspec
|
8
8
|
- lib/**/*.rb
|
9
9
|
- test/**/*.rb
|
10
|
-
|
11
|
-
# Avoid long parameter lists
|
12
|
-
ParameterLists:
|
13
|
-
Max: 5
|
14
|
-
CountKeywordArgs: true
|
15
|
-
|
16
|
-
MethodLength:
|
17
|
-
CountComments: false
|
18
|
-
Max: 15
|
19
|
-
|
20
|
-
# Avoid more than `Max` levels of nesting.
|
21
|
-
BlockNesting:
|
22
|
-
Max: 4
|
23
|
-
|
24
|
-
AccessModifierIndentation:
|
25
|
-
Enabled: false
|
26
|
-
|
27
|
-
# Limit line length
|
28
|
-
LineLength:
|
29
|
-
Enabled: false
|
30
|
-
|
31
|
-
# Disable documentation checking until a class needs to be documented once
|
32
|
-
Documentation:
|
33
|
-
Enabled: false
|
34
|
-
|
35
|
-
# Enforce Ruby 1.8-compatible hash syntax
|
36
|
-
HashSyntax:
|
37
|
-
Enabled: true
|
38
|
-
|
39
|
-
# No spaces inside hash literals
|
40
|
-
SpaceInsideHashLiteralBraces:
|
41
|
-
EnforcedStyle: no_space
|
42
|
-
|
43
|
-
# Allow dots at the end of lines
|
44
|
-
DotPosition:
|
45
|
-
Enabled: false
|
46
|
-
|
47
|
-
# Don't require magic comment at the top of every file
|
48
|
-
Encoding:
|
49
|
-
Enabled: false
|
50
|
-
|
51
|
-
EmptyLinesAroundAccessModifier:
|
52
|
-
Enabled: true
|
53
|
-
|
54
|
-
# Align ends correctly
|
55
|
-
EndAlignment:
|
56
|
-
AlignWith: variable
|
57
|
-
|
58
|
-
# Indentation of when/else
|
59
|
-
CaseIndentation:
|
60
|
-
IndentWhenRelativeTo: end
|
61
|
-
IndentOneStep: false
|
62
|
-
|
63
|
-
DoubleNegation:
|
64
|
-
Enabled: false
|
65
|
-
|
66
|
-
PercentLiteralDelimiters:
|
67
|
-
PreferredDelimiters:
|
68
|
-
'%': ()
|
69
|
-
'%i': ()
|
70
|
-
'%q': ()
|
71
|
-
'%Q': ()
|
72
|
-
'%r': '{}'
|
73
|
-
'%s': ()
|
74
|
-
'%w': '[]'
|
75
|
-
'%W': '[]'
|
76
|
-
'%x': ()
|
77
|
-
|
78
|
-
StringLiterals:
|
79
|
-
EnforcedStyle: double_quotes
|
10
|
+
- spec/**/*.rb
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative '../../test_helper'
|
2
2
|
describe GemBootstrap do
|
3
|
-
context
|
4
|
-
it
|
5
|
-
|
3
|
+
context '#dummy_test' do
|
4
|
+
it 'must pass the simple test' do
|
5
|
+
'string'.wont_be_nil
|
6
6
|
end
|
7
7
|
end
|
8
8
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require_relative
|
1
|
+
require 'minitest'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'minitest/pride'
|
4
|
+
require 'minitest-spec-context'
|
5
|
+
require 'pry'
|
6
|
+
require 'awesome_print'
|
7
|
+
require_relative '../lib/gem_bootstrap'
|
8
8
|
include GemBootstrap
|
metadata
CHANGED
@@ -1,215 +1,244 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gem_bootstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Burin Choomnuan
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
12
|
+
date: 2014-08-20 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: activesupport-core-ext
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 4.0.0.2
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 4.0.0.2
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: grit
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- -
|
35
|
+
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: 2.5.0
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- -
|
43
|
+
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: 2.5.0
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: thor
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- -
|
51
|
+
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: 0.19.1
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: 0.19.1
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: awesome_print
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- -
|
67
|
+
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: 1.2.0
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- -
|
75
|
+
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: 1.2.0
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: bundler
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- -
|
83
|
+
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: 1.7.0
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- -
|
91
|
+
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: 1.7.0
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: gem-ctags
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- -
|
99
|
+
- - ~>
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: 1.0.6
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- -
|
107
|
+
- - ~>
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: 1.0.6
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: guard
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: 2.6.1
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
|
-
- -
|
123
|
+
- - ~>
|
109
124
|
- !ruby/object:Gem::Version
|
110
125
|
version: 2.6.1
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: guard-minitest
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
|
-
- -
|
131
|
+
- - ~>
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: 2.3.1
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
|
-
- -
|
139
|
+
- - ~>
|
123
140
|
- !ruby/object:Gem::Version
|
124
141
|
version: 2.3.1
|
125
142
|
- !ruby/object:Gem::Dependency
|
126
143
|
name: minitest
|
127
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
128
146
|
requirements:
|
129
|
-
- -
|
147
|
+
- - ~>
|
130
148
|
- !ruby/object:Gem::Version
|
131
149
|
version: 5.4.0
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
135
154
|
requirements:
|
136
|
-
- -
|
155
|
+
- - ~>
|
137
156
|
- !ruby/object:Gem::Version
|
138
157
|
version: 5.4.0
|
139
158
|
- !ruby/object:Gem::Dependency
|
140
159
|
name: minitest-spec-context
|
141
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
142
162
|
requirements:
|
143
|
-
- -
|
163
|
+
- - ~>
|
144
164
|
- !ruby/object:Gem::Version
|
145
165
|
version: 0.0.3
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
149
170
|
requirements:
|
150
|
-
- -
|
171
|
+
- - ~>
|
151
172
|
- !ruby/object:Gem::Version
|
152
173
|
version: 0.0.3
|
153
174
|
- !ruby/object:Gem::Dependency
|
154
175
|
name: pry
|
155
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
156
178
|
requirements:
|
157
|
-
- -
|
179
|
+
- - ~>
|
158
180
|
- !ruby/object:Gem::Version
|
159
181
|
version: 0.10.0
|
160
182
|
type: :development
|
161
183
|
prerelease: false
|
162
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
163
186
|
requirements:
|
164
|
-
- -
|
187
|
+
- - ~>
|
165
188
|
- !ruby/object:Gem::Version
|
166
189
|
version: 0.10.0
|
167
190
|
- !ruby/object:Gem::Dependency
|
168
191
|
name: rake
|
169
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
170
194
|
requirements:
|
171
|
-
- -
|
195
|
+
- - ~>
|
172
196
|
- !ruby/object:Gem::Version
|
173
197
|
version: 10.3.2
|
174
198
|
type: :development
|
175
199
|
prerelease: false
|
176
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
177
202
|
requirements:
|
178
|
-
- -
|
203
|
+
- - ~>
|
179
204
|
- !ruby/object:Gem::Version
|
180
205
|
version: 10.3.2
|
181
206
|
- !ruby/object:Gem::Dependency
|
182
207
|
name: rubocop
|
183
208
|
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
184
210
|
requirements:
|
185
|
-
- -
|
211
|
+
- - ~>
|
186
212
|
- !ruby/object:Gem::Version
|
187
213
|
version: 0.24.1
|
188
214
|
type: :development
|
189
215
|
prerelease: false
|
190
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
191
218
|
requirements:
|
192
|
-
- -
|
219
|
+
- - ~>
|
193
220
|
- !ruby/object:Gem::Version
|
194
221
|
version: 0.24.1
|
195
222
|
- !ruby/object:Gem::Dependency
|
196
223
|
name: yard
|
197
224
|
requirement: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
198
226
|
requirements:
|
199
|
-
- -
|
227
|
+
- - ~>
|
200
228
|
- !ruby/object:Gem::Version
|
201
229
|
version: 0.8.7
|
202
230
|
type: :development
|
203
231
|
prerelease: false
|
204
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
205
234
|
requirements:
|
206
|
-
- -
|
235
|
+
- - ~>
|
207
236
|
- !ruby/object:Gem::Version
|
208
237
|
version: 0.8.7
|
209
|
-
description:
|
210
|
-
|
211
|
-
|
212
|
-
|
238
|
+
description: ! "Bootstrap the creation of ruby gem so that you don't have to start
|
239
|
+
from scratch.\n Build with simple, sensible default and very
|
240
|
+
easy to extend.\n TL;DR; create new gem with `gem_bootstrap
|
241
|
+
awesome_gem -g github_id -e your@email.com -a 'John Guru'`"
|
213
242
|
email:
|
214
243
|
- agilecreativity@gmail.com
|
215
244
|
executables:
|
@@ -217,21 +246,13 @@ executables:
|
|
217
246
|
extensions: []
|
218
247
|
extra_rdoc_files: []
|
219
248
|
files:
|
220
|
-
- ".gitignore"
|
221
|
-
- ".rubocop.yml"
|
222
|
-
- CHANGELOG.md
|
223
|
-
- Gemfile
|
224
|
-
- LICENSE
|
225
|
-
- README.md
|
226
|
-
- Rakefile
|
227
249
|
- bin/gem_bootstrap
|
228
|
-
- gem_bootstrap.gemspec
|
229
|
-
- lib/gem_bootstrap.rb
|
230
250
|
- lib/gem_bootstrap/cli.rb
|
231
251
|
- lib/gem_bootstrap/gem_bootstrap.rb
|
232
252
|
- lib/gem_bootstrap/git_utils.rb
|
233
253
|
- lib/gem_bootstrap/misc_utils.rb
|
234
254
|
- lib/gem_bootstrap/version.rb
|
255
|
+
- lib/gem_bootstrap.rb
|
235
256
|
- templates/CHANGELOGS.md
|
236
257
|
- templates/GNU_LICENSE
|
237
258
|
- templates/Gemfile
|
@@ -245,41 +266,50 @@ files:
|
|
245
266
|
- templates/dot_gitignore
|
246
267
|
- templates/dot_rubocop.yml
|
247
268
|
- templates/dot_yardopts
|
248
|
-
- templates/lib/newgem.rb
|
249
269
|
- templates/lib/newgem/cli.rb
|
250
270
|
- templates/lib/newgem/newgem.rb
|
251
271
|
- templates/lib/newgem/version.rb
|
272
|
+
- templates/lib/newgem.rb
|
252
273
|
- templates/newgem-minitest.gemspec.tt
|
253
274
|
- templates/newgem-rspec.gemspec.tt
|
254
275
|
- templates/spec/lib/newgem/newgem_spec.rb
|
255
276
|
- templates/spec/spec_helper.rb
|
256
277
|
- templates/test/lib/newgem/test_newgem.rb
|
257
278
|
- templates/test/test_helper.rb
|
279
|
+
- Gemfile
|
280
|
+
- Rakefile
|
281
|
+
- gem_bootstrap.gemspec
|
282
|
+
- README.md
|
283
|
+
- CHANGELOG.md
|
284
|
+
- LICENSE
|
285
|
+
- .rubocop.yml
|
286
|
+
- .gitignore
|
258
287
|
- test/lib/gem_bootstrap/test_gem_bootstrap.rb
|
259
288
|
- test/test_helper.rb
|
260
289
|
homepage: https://github.com/agilecreativity/gem_bootstrap
|
261
290
|
licenses:
|
262
291
|
- MIT
|
263
|
-
metadata: {}
|
264
292
|
post_install_message:
|
265
293
|
rdoc_options: []
|
266
294
|
require_paths:
|
267
295
|
- lib
|
268
296
|
required_ruby_version: !ruby/object:Gem::Requirement
|
297
|
+
none: false
|
269
298
|
requirements:
|
270
|
-
- -
|
299
|
+
- - ! '>='
|
271
300
|
- !ruby/object:Gem::Version
|
272
301
|
version: 1.9.3
|
273
302
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
303
|
+
none: false
|
274
304
|
requirements:
|
275
|
-
- -
|
305
|
+
- - ! '>='
|
276
306
|
- !ruby/object:Gem::Version
|
277
307
|
version: '0'
|
278
308
|
requirements: []
|
279
309
|
rubyforge_project:
|
280
|
-
rubygems_version:
|
310
|
+
rubygems_version: 1.8.23.2
|
281
311
|
signing_key:
|
282
|
-
specification_version:
|
312
|
+
specification_version: 3
|
283
313
|
summary: Bootstrap the creation of ruby gem so that you don't have to start from scratch
|
284
314
|
test_files:
|
285
315
|
- test/lib/gem_bootstrap/test_gem_bootstrap.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: bf056f7e4ff20ab05ed480da0d8a0a1a40118cd6
|
4
|
-
data.tar.gz: aab58ad2489c64a6eca94976e6d31e54f725da60
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 30ec92d36bbca8a29feebf94c546e9c322a9859192a50223d1a7e2f95a5b9abca773075833d49f153424c5f9fa9fa9455cc22326e1b9e22739b2fefcc42e71c6
|
7
|
-
data.tar.gz: aefa81c88a14930ae0bffc935b1c7826cf9146868ab28494ba487aa2f7b7cf7b035271ba24a547ce013d908e1d2157bdd11df6ebc83ed24e9cc2ca6644283c7a
|