generic_gem 0.1.0 → 0.1.2
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
- data/.rubocop.yml +4 -0
- data/.travis.yml +2 -1
- data/code_test.sh +3 -3
- data/credentials.sh +53 -0
- data/generic_gem.gemspec +2 -1
- data/lib/files_to_add/code_test.sh +3 -3
- data/lib/files_to_add/rubocop.yml +5 -1
- data/lib/generic_gem.rb +35 -23
- data/lib/generic_gem/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1c76f691c1a9ae2ee6b63a762ccf11a785f739b
|
4
|
+
data.tar.gz: c57d35b69fef136faffd2b4257c623bd65354eb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fc751dd42b73969dcc018bc424baeff9f7b30471159ded31288b91865472a6f880813a6d29e8b0d39533ce260528ee2ccb2f31ba647eabdaf0aa5857cd6e234
|
7
|
+
data.tar.gz: d3ae3a5acbcf0412e2f4da4b3feba36834e8bce28f230b8e3aba3c4ed6d3456453369d1dc9a50ac32183f896ab7ff5115ad8f60c78b6d924946ada58fc376d3e
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/code_test.sh
CHANGED
data/credentials.sh
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# Output:
|
4
|
+
# First argument if it is not blank
|
5
|
+
# Second argument if first argument is blank
|
6
|
+
anti_blank () {
|
7
|
+
if [ -z "$1" ]; then
|
8
|
+
echo "$2"
|
9
|
+
else
|
10
|
+
echo "$1"
|
11
|
+
fi
|
12
|
+
}
|
13
|
+
|
14
|
+
# Setting Git email if necessary
|
15
|
+
GIT_EMAIL="$(git config user.email)"
|
16
|
+
if [ -z "$GIT_EMAIL" ]; then
|
17
|
+
EMAIL_DEF='you@example.com'
|
18
|
+
echo
|
19
|
+
echo "Default email address: ${EMAIL_DEF}"
|
20
|
+
echo
|
21
|
+
echo 'Enter your Git email address:'
|
22
|
+
read EMAIL_SEL
|
23
|
+
EMAIL=$(anti_blank $EMAIL_SEL $EMAIL_DEF)
|
24
|
+
echo
|
25
|
+
|
26
|
+
echo
|
27
|
+
echo '------------------------------'
|
28
|
+
echo "git config --global user.email"
|
29
|
+
echo "$EMAIL"
|
30
|
+
git config --global user.email "$EMAIL"
|
31
|
+
fi
|
32
|
+
|
33
|
+
# Setting Git name if necessary
|
34
|
+
GIT_NAME="$(git config user.name)"
|
35
|
+
if [ -z "$GIT_NAME" ]; then
|
36
|
+
NAME_DEF='Your Name'
|
37
|
+
echo
|
38
|
+
echo "Default name: ${NAME_DEF}"
|
39
|
+
echo
|
40
|
+
echo 'Enter your Git name:'
|
41
|
+
read NAME_SEL
|
42
|
+
|
43
|
+
# NOTE: The double quotes are needed to avoid truncating the string
|
44
|
+
# at the space.
|
45
|
+
NAME=$(anti_blank "$NAME_SEL" "$NAME_DEF")
|
46
|
+
|
47
|
+
echo
|
48
|
+
echo '-----------------------------'
|
49
|
+
echo "git config --global user.name"
|
50
|
+
echo "$NAME"
|
51
|
+
git config --global user.name "$NAME"
|
52
|
+
echo
|
53
|
+
fi
|
data/generic_gem.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'generic_gem/version'
|
@@ -28,9 +29,9 @@ Gem::Specification.new do |spec|
|
|
28
29
|
spec.add_development_dependency 'gemsurance'
|
29
30
|
spec.add_development_dependency 'ruby-graphviz'
|
30
31
|
|
31
|
-
spec.add_development_dependency 'codeclimate-test-reporter'
|
32
32
|
spec.add_development_dependency 'simplecov'
|
33
33
|
|
34
34
|
spec.add_runtime_dependency 'string_in_file'
|
35
35
|
spec.add_runtime_dependency 'replace_quotes'
|
36
|
+
spec.add_runtime_dependency 'line_containing'
|
36
37
|
end
|
data/lib/generic_gem.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
require 'generic_gem/version'
|
2
2
|
require 'string_in_file'
|
3
3
|
require 'replace_quotes'
|
4
|
+
require 'line_containing'
|
4
5
|
|
5
6
|
#
|
6
7
|
module GenericGem
|
7
|
-
def self.create(gem_name
|
8
|
+
def self.create(gem_name)
|
8
9
|
puts '**********************'
|
9
10
|
puts 'Welcome to Generic Gem'
|
10
11
|
puts "GEM NAME: #{gem_name}"
|
11
|
-
puts "YOUR NAME: #{your_name}"
|
12
|
-
puts "YOUR EMAIL: #{your_email}"
|
13
12
|
ENV['DIR_MAIN'] = File.expand_path('../../', __FILE__)
|
14
13
|
|
15
14
|
bundle_config
|
16
15
|
bundle_gem(gem_name)
|
16
|
+
copy_credentials_sh(gem_name)
|
17
|
+
enter_credentials_sh(gem_name)
|
17
18
|
update_version(gem_name)
|
18
|
-
|
19
|
-
update_gemspec(gem_name, your_email)
|
19
|
+
update_gemspec(gem_name)
|
20
20
|
add_gem_dep(gem_name, 'rubocop')
|
21
21
|
add_gem_dep(gem_name, 'sandi_meter')
|
22
22
|
add_gem_dep(gem_name, 'bundler-audit')
|
@@ -55,27 +55,30 @@ module GenericGem
|
|
55
55
|
t1.join
|
56
56
|
end
|
57
57
|
|
58
|
+
def self.copy_credentials_sh(gem_name)
|
59
|
+
puts '----------------------'
|
60
|
+
puts 'Copying credentials.sh'
|
61
|
+
system("cp #{ENV['DIR_MAIN']}/credentials.sh #{gem_name}")
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.enter_credentials_sh(gem_name)
|
65
|
+
puts '-----------------------------------'
|
66
|
+
puts 'Entering credentials (if necessary)'
|
67
|
+
|
68
|
+
# Skip this step in Travis
|
69
|
+
system("sh #{gem_name}/credentials.sh") if ENV['TRAVIS'] != 'true'
|
70
|
+
end
|
71
|
+
|
58
72
|
def self.update_version(gem_name)
|
59
73
|
puts '----------------------'
|
60
74
|
puts 'Initial version: 0.0.0'
|
61
75
|
StringInFile.replace('0.1.0', '0.0.0', "#{gem_name}/lib/#{gem_name}/version.rb")
|
62
76
|
ReplaceQuotes.update("#{gem_name}/lib/#{gem_name}/version.rb")
|
63
77
|
StringInFile.replace('module', "#\nmodule", "#{gem_name}/lib/#{gem_name}/version.rb")
|
78
|
+
StringInFile.replace("'0.0.0'", "'0.0.0'.freeze", "#{gem_name}/lib/#{gem_name}/version.rb")
|
64
79
|
end
|
65
80
|
|
66
|
-
def self.
|
67
|
-
puts '-----------------------------------------------------------'
|
68
|
-
puts "Filling in your name in LICENSE.txt and #{gem_name}.gemspec"
|
69
|
-
puts "Your name: #{your_name}"
|
70
|
-
StringInFile.replace('TODO: Write your name', your_name, "#{gem_name}/LICENSE.txt")
|
71
|
-
StringInFile.replace('TODO: Write your name', your_name, "#{gem_name}/#{gem_name}.gemspec")
|
72
|
-
end
|
73
|
-
|
74
|
-
def self.update_gemspec(gem_name, your_email)
|
75
|
-
puts '----------------------------------------------------'
|
76
|
-
puts "Filling in your email address in #{gem_name}.gemspec"
|
77
|
-
StringInFile.replace('TODO: Write your email address', your_email, "#{gem_name}/#{gem_name}.gemspec")
|
78
|
-
|
81
|
+
def self.update_gemspec(gem_name)
|
79
82
|
puts '-----------------------------------------------------'
|
80
83
|
puts "Filling in the gem description in #{gem_name}.gemspec"
|
81
84
|
StringInFile.replace('TODO: Write a longer description or delete this line.', 'GENERIC DESCRIPTION', "#{gem_name}/#{gem_name}.gemspec")
|
@@ -91,9 +94,15 @@ module GenericGem
|
|
91
94
|
ReplaceQuotes.update("#{gem_name}/#{gem_name}.gemspec")
|
92
95
|
StringInFile.replace("'\\x0'", '"\\x0"', "#{gem_name}/#{gem_name}.gemspec")
|
93
96
|
|
94
|
-
puts '
|
95
|
-
puts "
|
96
|
-
StringInFile.
|
97
|
+
puts '----------------------------------------------------'
|
98
|
+
puts "Updating #{gem_name}.gemspec to remove excess spaces"
|
99
|
+
while StringInFile.present(' =', "#{gem_name}/#{gem_name}.gemspec")
|
100
|
+
StringInFile.replace(' =', ' =', "#{gem_name}/#{gem_name}.gemspec")
|
101
|
+
end
|
102
|
+
|
103
|
+
puts '------------------------------------------------------------------'
|
104
|
+
puts "Updating #{gem_name}.gemspec to add empty line after magic comment"
|
105
|
+
LineContaining.add_after('# coding: utf-8', '', "#{gem_name}/#{gem_name}.gemspec")
|
97
106
|
end
|
98
107
|
|
99
108
|
def self.add_gem_dep(gem_name, gem_dep)
|
@@ -101,8 +110,7 @@ module GenericGem
|
|
101
110
|
puts "Adding #{gem_dep} development dependency"
|
102
111
|
str1 = "spec.add_development_dependency 'rspec'"
|
103
112
|
str2 = "\n spec.add_development_dependency '#{gem_dep}'"
|
104
|
-
|
105
|
-
StringInFile.replace(str1, str3, "#{gem_name}/#{gem_name}.gemspec")
|
113
|
+
LineContaining.add_after(str1, str2, "#{gem_name}/#{gem_name}.gemspec")
|
106
114
|
end
|
107
115
|
|
108
116
|
def self.update_spec_helper(gem_name)
|
@@ -116,12 +124,16 @@ module GenericGem
|
|
116
124
|
f << File.read(file_old)
|
117
125
|
end
|
118
126
|
system("mv #{file_new} #{file_old}")
|
127
|
+
ReplaceQuotes.update(file_old)
|
119
128
|
end
|
120
129
|
|
121
130
|
def self.update_tests(gem_name)
|
122
131
|
puts '--------------------------------'
|
123
132
|
puts 'Revising the initial rspec tests'
|
124
133
|
StringInFile.replace('expect(false).to eq(true)', 'expect(true).to eq(true)', "#{gem_name}/spec/#{gem_name}_spec.rb")
|
134
|
+
puts '----------------------------------------'
|
135
|
+
puts 'Convering double quotes to single quotes'
|
136
|
+
ReplaceQuotes.update("#{gem_name}/spec/#{gem_name}_spec.rb")
|
125
137
|
end
|
126
138
|
|
127
139
|
def self.update_bin_scripts(gem_name)
|
data/lib/generic_gem/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: generic_gem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Hsu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: simplecov
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -137,13 +137,13 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: string_in_file
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0'
|
146
|
-
type: :
|
146
|
+
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
@@ -151,7 +151,7 @@ dependencies:
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: replace_quotes
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
@@ -165,7 +165,7 @@ dependencies:
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
168
|
+
name: line_containing
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - ">="
|
@@ -200,6 +200,7 @@ files:
|
|
200
200
|
- bin/generic_gem
|
201
201
|
- bin/setup
|
202
202
|
- code_test.sh
|
203
|
+
- credentials.sh
|
203
204
|
- gem_console.sh
|
204
205
|
- gem_install.sh
|
205
206
|
- gem_test.sh
|
@@ -236,7 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
237
|
version: '0'
|
237
238
|
requirements: []
|
238
239
|
rubyforge_project:
|
239
|
-
rubygems_version: 2.
|
240
|
+
rubygems_version: 2.6.10
|
240
241
|
signing_key:
|
241
242
|
specification_version: 4
|
242
243
|
summary: GenericGem streamlines the process of starting a new Ruby gem.
|