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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 75cf554db010518773c6fcc6526affc7bfd3dce5
4
- data.tar.gz: bf2dd0eabfa2df632a0082338a87d94479b173a8
3
+ metadata.gz: c1c76f691c1a9ae2ee6b63a762ccf11a785f739b
4
+ data.tar.gz: c57d35b69fef136faffd2b4257c623bd65354eb5
5
5
  SHA512:
6
- metadata.gz: 024cca148efc7e0afc2bb0ea358bb18cc861a4a8518911d88780cb8ca3551690a1aa90a4bd76140c25bba7f4a368d97da98c4ea393f6178e8b1de94598b426a5
7
- data.tar.gz: ce82253278060bab6a118694da730a3c597c265d2348b23becf72bc9f7bcfb798e056185f251ef1cc9c36405c92322969301a997208699544f271fe85ad062f1
6
+ metadata.gz: 0fc751dd42b73969dcc018bc424baeff9f7b30471159ded31288b91865472a6f880813a6d29e8b0d39533ce260528ee2ccb2f31ba647eabdaf0aa5857cd6e234
7
+ data.tar.gz: d3ae3a5acbcf0412e2f4da4b3feba36834e8bce28f230b8e3aba3c4ed6d3456453369d1dc9a50ac32183f896ab7ff5115ad8f60c78b6d924946ada58fc376d3e
data/.rubocop.yml CHANGED
@@ -2,6 +2,10 @@ Metrics/AbcSize:
2
2
  Exclude:
3
3
  - lib/generic_gem.rb
4
4
 
5
+ Metrics/BlockLength:
6
+ Exclude:
7
+ - spec/generic_gem_spec.rb
8
+
5
9
  Metrics/LineLength:
6
10
  Exclude:
7
11
  - bin/generic_gem
data/.travis.yml CHANGED
@@ -1,3 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.3
3
+ - 2.4.1
4
+ - 2.3.4
data/code_test.sh CHANGED
@@ -10,9 +10,9 @@ echo 'bundle install'
10
10
  bin/setup >/dev/null
11
11
 
12
12
  echo
13
- echo '-------'
14
- echo 'rubocop'
15
- rubocop
13
+ echo '----------'
14
+ echo 'rubocop -D'
15
+ rubocop -D
16
16
 
17
17
  echo
18
18
  echo '-----------'
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
@@ -10,9 +10,9 @@ echo 'bundle install'
10
10
  bin/setup >/dev/null
11
11
 
12
12
  echo
13
- echo '-------'
14
- echo 'rubocop'
15
- rubocop
13
+ echo '----------'
14
+ echo 'rubocop -D'
15
+ rubocop -D
16
16
 
17
17
  echo
18
18
  echo '-----------'
@@ -1,3 +1,7 @@
1
- Metrics/LineLength:
1
+ Metrics/BlockLength:
2
2
  Exclude:
3
3
  - gemspec_file
4
+
5
+ Metrics/LineLength:
6
+ Exclude:
7
+ - gemspec_file
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, your_name, your_email)
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
- add_name(gem_name, your_name)
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.add_name(gem_name, your_name)
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 "Replace 'raise' in #{gem_name}/#{gem_name}.gemspec with 'fail'"
96
- StringInFile.replace("raise 'RubyGems", "fail 'RubyGems", "#{gem_name}/#{gem_name}.gemspec")
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
- str3 = "#{str1}#{str2}"
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)
@@ -1,4 +1,4 @@
1
1
  #
2
2
  module GenericGem
3
- VERSION = '0.1.0'
3
+ VERSION = '0.1.2'.freeze
4
4
  end
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.0
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: 2015-11-24 00:00:00.000000000 Z
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: codeclimate-test-reporter
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: simplecov
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: :development
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: string_in_file
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: replace_quotes
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.4.5.1
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.