gemaker 0.6.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.rubocop.yml +61 -603
  4. data/CHANGELOG.md +9 -0
  5. data/README.md +10 -0
  6. data/gemaker.gemspec +5 -6
  7. data/lib/gemaker.rb +2 -2
  8. data/lib/gemaker/cli.rb +2 -3
  9. data/lib/gemaker/commands/add_cli_structure.rb +1 -0
  10. data/lib/gemaker/commands/add_install_generator.rb +30 -6
  11. data/lib/gemaker/commands/configure_continuous_integration.rb +23 -0
  12. data/lib/gemaker/commands/configure_editor_config.rb +10 -0
  13. data/lib/gemaker/commands/configure_test_env.rb +9 -8
  14. data/lib/gemaker/commands/create_gem.rb +3 -6
  15. data/lib/gemaker/commands/customize_engine.rb +31 -4
  16. data/lib/gemaker/config.rb +1 -9
  17. data/lib/gemaker/templates/circle_config.yml.erb +103 -0
  18. data/lib/gemaker/templates/circleci-setup-script.sh +3 -0
  19. data/lib/gemaker/templates/editorconfig +24 -0
  20. data/lib/gemaker/templates/engine/Guardfile +6 -9
  21. data/lib/gemaker/templates/engine/README.md.erb +45 -2
  22. data/lib/gemaker/templates/engine/development.rb.erb +81 -0
  23. data/lib/gemaker/templates/engine/gemspec.erb +8 -5
  24. data/lib/gemaker/templates/engine/gitignore +1 -0
  25. data/lib/gemaker/templates/engine/install_generator.rb.erb +0 -2
  26. data/lib/gemaker/templates/engine/rails_helper.rb.erb +2 -7
  27. data/lib/gemaker/templates/engine/rubocop.yml.erb +503 -0
  28. data/lib/gemaker/templates/normal/README.md.erb +14 -0
  29. data/lib/gemaker/templates/normal/gemspec.erb +9 -6
  30. data/lib/gemaker/templates/normal/rubocop.yml.erb +496 -0
  31. data/lib/gemaker/templates/ruby-version.erb +1 -1
  32. data/lib/gemaker/util.rb +3 -2
  33. data/lib/gemaker/version.rb +7 -2
  34. metadata +51 -50
  35. data/.coveralls.yml +0 -1
  36. data/.hound.yml +0 -4
  37. data/lib/gemaker/commands/add_hound_rules.rb +0 -12
  38. data/lib/gemaker/commands/configure_travis.rb +0 -15
  39. data/lib/gemaker/templates/coveralls.yml +0 -1
  40. data/lib/gemaker/templates/engine/travis.yml.erb +0 -15
  41. data/lib/gemaker/templates/normal/travis.yml.erb +0 -13
@@ -1 +1 @@
1
- <%= config.ruby_version %>
1
+ <%= Gemaker::RUBY_VERSION %>
data/lib/gemaker/util.rb CHANGED
@@ -5,7 +5,7 @@ module Gemaker
5
5
  end
6
6
 
7
7
  def copy_template(source, destination, locales = {})
8
- template_path = get_template_path(source) + ".erb"
8
+ template_path = "#{get_template_path(source)}.erb"
9
9
  destination_path = get_destination_path(destination)
10
10
 
11
11
  input = File.open(template_path)
@@ -62,7 +62,7 @@ module Gemaker
62
62
  def parse_erb(content, data)
63
63
  b = binding
64
64
  data.each { |k, v| singleton_class.send(:define_method, k) { v } }
65
- ERB.new(content, nil, "-").result(b)
65
+ ERB.new(content, trim_mode: '-').result(b)
66
66
  end
67
67
 
68
68
  def info(string)
@@ -71,6 +71,7 @@ module Gemaker
71
71
 
72
72
  def error(string)
73
73
  return if string.blank?
74
+
74
75
  puts string.to_s.red
75
76
  end
76
77
  end
@@ -1,4 +1,9 @@
1
1
  module Gemaker
2
- VERSION = "0.6.0"
3
- RAILS_VERSION = "5.1.5"
2
+ VERSION = "1.0.0"
3
+ BUNDLER_VERSION = "2.2.15"
4
+ RAILS_VERSION = "6.0"
5
+ MIN_RAILS_VERSION = "6.0"
6
+ RUBY_VERSIONS = ["2.5", "2.6", "2.7"]
7
+ RUBY_VERSION = RUBY_VERSIONS.last
8
+ RUBOCOP_VERSION = "1.9"
4
9
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Segovia
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-08 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: power-types
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,33 +25,25 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: commander
28
+ name: artii
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
31
+ - - "~>"
39
32
  - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: activesupport
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
33
+ version: '2.1'
45
34
  - - ">="
46
35
  - !ruby/object:Gem::Version
47
- version: '0'
36
+ version: 2.1.1
48
37
  type: :runtime
49
38
  prerelease: false
50
39
  version_requirements: !ruby/object:Gem::Requirement
51
40
  requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '2.1'
52
44
  - - ">="
53
45
  - !ruby/object:Gem::Version
54
- version: '0'
46
+ version: 2.1.1
55
47
  - !ruby/object:Gem::Dependency
56
48
  name: colorize
57
49
  requirement: !ruby/object:Gem::Requirement
@@ -73,25 +65,33 @@ dependencies:
73
65
  - !ruby/object:Gem::Version
74
66
  version: 0.7.7
75
67
  - !ruby/object:Gem::Dependency
76
- name: artii
68
+ name: commander
77
69
  requirement: !ruby/object:Gem::Requirement
78
70
  requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '2.1'
82
71
  - - ">="
83
72
  - !ruby/object:Gem::Version
84
- version: 2.1.1
73
+ version: '0'
85
74
  type: :runtime
86
75
  prerelease: false
87
76
  version_requirements: !ruby/object:Gem::Requirement
88
77
  requirements:
89
- - - "~>"
78
+ - - ">="
90
79
  - !ruby/object:Gem::Version
91
- version: '2.1'
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: power-types
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
92
85
  - - ">="
93
86
  - !ruby/object:Gem::Version
94
- version: 2.1.1
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: bundler
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -106,6 +106,20 @@ dependencies:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
108
  version: 2.2.15
109
+ - !ruby/object:Gem::Dependency
110
+ name: coveralls
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
109
123
  - !ruby/object:Gem::Dependency
110
124
  name: rake
111
125
  requirement: !ruby/object:Gem::Requirement
@@ -154,28 +168,14 @@ dependencies:
154
168
  requirements:
155
169
  - - "~>"
156
170
  - !ruby/object:Gem::Version
157
- version: 0.65.0
171
+ version: '1.9'
158
172
  type: :development
159
173
  prerelease: false
160
174
  version_requirements: !ruby/object:Gem::Requirement
161
175
  requirements:
162
176
  - - "~>"
163
177
  - !ruby/object:Gem::Version
164
- version: 0.65.0
165
- - !ruby/object:Gem::Dependency
166
- name: coveralls
167
- requirement: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- version: '0'
172
- type: :development
173
- prerelease: false
174
- version_requirements: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: '0'
178
+ version: '1.9'
179
179
  description: Ruby CLI created to build Platanus' gems
180
180
  email:
181
181
  - ldlsegovia@gmail.com
@@ -186,9 +186,7 @@ extra_rdoc_files: []
186
186
  files:
187
187
  - ".circleci/config.yml"
188
188
  - ".circleci/setup-rubygems.sh"
189
- - ".coveralls.yml"
190
189
  - ".gitignore"
191
- - ".hound.yml"
192
190
  - ".rspec"
193
191
  - ".rubocop.yml"
194
192
  - ".ruby-version"
@@ -205,15 +203,15 @@ files:
205
203
  - lib/gemaker/cli.rb
206
204
  - lib/gemaker/commands/add_changelog.rb
207
205
  - lib/gemaker/commands/add_cli_structure.rb
208
- - lib/gemaker/commands/add_hound_rules.rb
209
206
  - lib/gemaker/commands/add_install_generator.rb
210
207
  - lib/gemaker/commands/add_license.rb
211
208
  - lib/gemaker/commands/add_readme.rb
212
209
  - lib/gemaker/commands/add_ruby_version.rb
213
210
  - lib/gemaker/commands/base.rb
211
+ - lib/gemaker/commands/configure_continuous_integration.rb
212
+ - lib/gemaker/commands/configure_editor_config.rb
214
213
  - lib/gemaker/commands/configure_git.rb
215
214
  - lib/gemaker/commands/configure_test_env.rb
216
- - lib/gemaker/commands/configure_travis.rb
217
215
  - lib/gemaker/commands/create_gem.rb
218
216
  - lib/gemaker/commands/customize_engine.rb
219
217
  - lib/gemaker/commands/customize_gemspec.rb
@@ -222,11 +220,14 @@ files:
222
220
  - lib/gemaker/config.rb
223
221
  - lib/gemaker/templates/CHANGELOG.md
224
222
  - lib/gemaker/templates/LICENSE.txt.erb
223
+ - lib/gemaker/templates/circle_config.yml.erb
224
+ - lib/gemaker/templates/circleci-setup-script.sh
225
225
  - lib/gemaker/templates/cli.rb.erb
226
- - lib/gemaker/templates/coveralls.yml
226
+ - lib/gemaker/templates/editorconfig
227
227
  - lib/gemaker/templates/engine/Guardfile
228
228
  - lib/gemaker/templates/engine/README.md.erb
229
229
  - lib/gemaker/templates/engine/Rakefile
230
+ - lib/gemaker/templates/engine/development.rb.erb
230
231
  - lib/gemaker/templates/engine/engine.rb.erb
231
232
  - lib/gemaker/templates/engine/example_class.rb.erb
232
233
  - lib/gemaker/templates/engine/gemspec.erb
@@ -237,18 +238,18 @@ files:
237
238
  - lib/gemaker/templates/engine/lib_main_file.rb.erb
238
239
  - lib/gemaker/templates/engine/rails_helper.rb.erb
239
240
  - lib/gemaker/templates/engine/rspec
241
+ - lib/gemaker/templates/engine/rubocop.yml.erb
240
242
  - lib/gemaker/templates/engine/spec_helper.rb.erb
241
243
  - lib/gemaker/templates/engine/test_example.rb.erb
242
- - lib/gemaker/templates/engine/travis.yml.erb
243
244
  - lib/gemaker/templates/exe.erb
244
245
  - lib/gemaker/templates/image.png
245
246
  - lib/gemaker/templates/normal/Guardfile
246
247
  - lib/gemaker/templates/normal/README.md.erb
247
248
  - lib/gemaker/templates/normal/Rakefile
248
249
  - lib/gemaker/templates/normal/gemspec.erb
250
+ - lib/gemaker/templates/normal/rubocop.yml.erb
249
251
  - lib/gemaker/templates/normal/spec_helper.rb.erb
250
252
  - lib/gemaker/templates/normal/test_example.rb.erb
251
- - lib/gemaker/templates/normal/travis.yml.erb
252
253
  - lib/gemaker/templates/ruby-version.erb
253
254
  - lib/gemaker/templates/test_helpers.rb
254
255
  - lib/gemaker/templates/video.mp4
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: travis-ci
data/.hound.yml DELETED
@@ -1,4 +0,0 @@
1
- ---
2
- ruby:
3
- enabled: true
4
- config_file: ".rubocop.yml"
@@ -1,12 +0,0 @@
1
- module Gemaker
2
- module Cmd
3
- class AddHoundRules < Gemaker::Cmd::Base
4
- def perform
5
- execute_in_gem(
6
- "hound rules update ruby --local",
7
- "Missing tool. Please run `gem install hound-cli`."
8
- )
9
- end
10
- end
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- module Gemaker
2
- module Cmd
3
- class ConfigureTravis < Gemaker::Cmd::Base
4
- def in_normal_context
5
- copy_template("normal/travis.yml", ".travis.yml", config: @config)
6
- info "Configure Tavis"
7
- end
8
-
9
- def in_engine_context
10
- copy_template("engine/travis.yml", ".travis.yml", config: @config)
11
- info "Configure Tavis"
12
- end
13
- end
14
- end
15
- end
@@ -1 +0,0 @@
1
- service_name: travis-ci
@@ -1,15 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.1
5
- script:
6
- - RAILS_ENV=test bundle exec rake db:create db:migrate
7
- - bundle exec rspec spec
8
- deploy:
9
- provider: rubygems
10
- api_key:
11
- secure: your_secure_secret
12
- gem: <%= config.gem_name %>
13
- on:
14
- tags: true
15
- repo: platanus/<%= config.gem_name %>
@@ -1,13 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.12.5
6
- deploy:
7
- provider: rubygems
8
- api_key:
9
- secure: your_secure_key
10
- gem: <%= config.gem_name %>
11
- on:
12
- tags: true
13
- repo: platanus/<%= config.gem_name %>