rails_app_generator 0.0.6 → 0.0.9

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/boot.rb +1 -0
  3. data/.builders/generators/project-plan.rb +47 -0
  4. data/CHANGELOG.md +24 -0
  5. data/after_templates/README.md +3 -0
  6. data/after_templates/___base_template.rb +1 -0
  7. data/after_templates/___r7_hotwire.rb +1 -0
  8. data/after_templates/rag_bootstrap/application-yield.html.erb +5 -0
  9. data/after_templates/rag_bootstrap/application.html.erb +4 -0
  10. data/after_templates/rag_bootstrap/component-cards-fancy.css +84 -0
  11. data/after_templates/rag_bootstrap/component-cards-fancy.html +80 -0
  12. data/after_templates/rag_bootstrap/component-cards-staff.css +90 -0
  13. data/after_templates/rag_bootstrap/component-cards-staff.html +140 -0
  14. data/after_templates/rag_bootstrap/component-cards-styled.html +31 -0
  15. data/after_templates/rag_bootstrap/component-footer.html +34 -0
  16. data/after_templates/rag_bootstrap/component-hero.html +15 -0
  17. data/after_templates/rag_bootstrap/component-nav.html +36 -0
  18. data/after_templates/rag_bootstrap/custom-bootstrap-import.scss +5 -0
  19. data/after_templates/rag_bootstrap/custom-using-css.css +3 -0
  20. data/after_templates/rag_bootstrap/custom-using-scss.scss +5 -0
  21. data/after_templates/rag_bootstrap/manifest.js +3 -0
  22. data/after_templates/rag_bootstrap.rb +1 -0
  23. data/after_templates/rag_simple.rb +25 -0
  24. data/after_templates/rag_tailwind/component-cta.html +17 -0
  25. data/after_templates/rag_tailwind/component-faq.html +151 -0
  26. data/after_templates/rag_tailwind/component-footer.html +73 -0
  27. data/after_templates/rag_tailwind/component-hero.html +25 -0
  28. data/after_templates/rag_tailwind/component-nav.html +101 -0
  29. data/after_templates/rag_tailwind/component-section-begin.html +0 -0
  30. data/after_templates/rag_tailwind/component-section-end.html +0 -0
  31. data/after_templates/rag_tailwind.rb +76 -0
  32. data/docs/project-plan/project.drawio +56 -0
  33. data/docs/project-plan/project_done.svg +3 -0
  34. data/docs/project-plan/project_in_progress.svg +3 -0
  35. data/docs/project-plan/project_todo.svg +3 -0
  36. data/docs/project-plan.md +24 -0
  37. data/exe/rag +41 -0
  38. data/lib/rails_app_generator/add_on.rb +0 -1
  39. data/lib/rails_app_generator/app_builder.rb +5 -3
  40. data/lib/rails_app_generator/app_generator.rb +72 -13
  41. data/lib/rails_app_generator/notes/a2.txt +14 -1
  42. data/lib/rails_app_generator/options/rails_options.rb +1 -1
  43. data/lib/rails_app_generator/version.rb +1 -1
  44. data/lib/rails_app_generator.rb +3 -3
  45. data/package-lock.json +2 -2
  46. data/package.json +1 -1
  47. data/profiles/rag-add-some-pages.json +11 -0
  48. data/profiles/rag-bootstrap.json +12 -0
  49. data/profiles/rag-simple.json +11 -0
  50. data/profiles/rag-tailwind.json +12 -0
  51. data/templates/README.md.erb +43 -0
  52. metadata +56 -4
  53. data/exe/rails_app_generator +0 -51
data/exe/rag ADDED
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'pathname'
5
+ require 'pry'
6
+
7
+ source_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../lib")
8
+ $LOAD_PATH << source_path
9
+
10
+ require 'rails_app_generator'
11
+
12
+ if ARGV.empty?
13
+ puts 'Please provide a profile for the new application'
14
+ puts
15
+ puts 'See --help for more info'
16
+ exit 0
17
+ elsif %w[-v --version].include? ARGV[0]
18
+ puts RailsAppGenerator::VERSION
19
+ exit 0
20
+ end
21
+
22
+ profile_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../profiles")
23
+ profile_name = ARGV[0]
24
+ profile_name += '.json' unless profile_name.end_with?('.json')
25
+ profile_file = File.join(profile_path, profile_name)
26
+
27
+ if File.exist?(profile_file)
28
+ puts "Using profile #{profile_file}"
29
+
30
+ profile = JSON.parse(File.read(profile_file), symbolize_names: true)
31
+ args = profile[:args]
32
+ opts = profile[:opts]
33
+ rails_options = RailsAppGenerator::RailsOptions.new(opts)
34
+
35
+ instance = RailsAppGenerator::Starter.new(args)
36
+ FileUtils.rm_rf(instance.target_path)
37
+ instance.start(rails_options)
38
+ else
39
+ puts "Profile #{profile_file} not found"
40
+ exit 1
41
+ end
@@ -66,7 +66,6 @@ module RailsAppGenerator
66
66
  protected
67
67
 
68
68
  def depends_on(*addon)
69
- puts addon
70
69
  @dependencies = addon.map(&:to_sym)
71
70
  end
72
71
  end
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
+ # The application builder allows you to override elements of the application
5
+ # generator without being forced to reverse the operations of the default generator.
4
6
  class AppBuilder < Rails::AppBuilder
5
7
  # def bin
6
8
  # super
@@ -13,9 +15,9 @@ module RailsAppGenerator
13
15
  # RailsAppGenerator::AddOns::Credentials.apply
14
16
  # end
15
17
 
16
- # def readme
17
- # template 'README.md.erb', 'README.md'
18
- # end
18
+ def readme
19
+ template 'README.md.erb', 'README.md'
20
+ end
19
21
 
20
22
  # def ruby_version
21
23
  # RailsAppGenerator::AddOns::RubyVersion.new(Context.new(options)).apply
@@ -22,8 +22,8 @@ module RailsAppGenerator
22
22
  class_option :add_services , type: :boolean, default: false
23
23
  class_option :add_sidekiq , type: :boolean, default: false
24
24
  class_option :add_views , type: :boolean, default: false
25
- class_option :add_errors , type: :boolean, default: false
26
- class_option :add_scaffold , type: :boolean, default: false
25
+ class_option :add_errors , type: :boolean, default: false
26
+ class_option :add_scaffold , type: :boolean, default: false
27
27
  class_option :add_factory_bot , type: :boolean, default: false
28
28
  class_option :add_shoulda , type: :boolean, default: false
29
29
 
@@ -141,15 +141,15 @@ module RailsAppGenerator
141
141
  add_if(:rubocop)
142
142
  end
143
143
 
144
- def create_test_files
145
- return if options[:skip_test]
144
+ # def create_test_files
145
+ # return if options[:skip_test]
146
146
 
147
- super if options[:test] == 'minitest'
147
+ # super if options[:test] == 'minitest'
148
148
 
149
- # puts options[:testing_framework]
149
+ # # puts options[:testing_framework]
150
150
 
151
- # add(:rspec) if options[:testing_framework] == 'rspec'
152
- end
151
+ # # add(:rspec) if options[:testing_framework] == 'rspec'
152
+ # end
153
153
 
154
154
  def finish_template
155
155
  puts 'finish template'
@@ -169,15 +169,46 @@ module RailsAppGenerator
169
169
  # invoke :rails_customization
170
170
  super
171
171
  end
172
+
172
173
  no_commands do
174
+ # USED BY AFTER_TEMPLATE
175
+ def gac(message)
176
+ return unless active?(:git)
177
+
178
+ git add: '.'
179
+ git commit: " -m '#{message}'"
180
+ end
181
+
182
+ def add_controller(name, *args)
183
+ generate(:controller, name, *args)
184
+ end
185
+
186
+ def add_scaffold(name, *args)
187
+ generate(:scaffold, name, *args)
188
+ end
189
+
190
+ def read_template(template_file)
191
+ path = find_in_source_paths(template_file)
192
+
193
+ File.read(path)
194
+ end
195
+
196
+ def join_templates(*template_files, join: "\n\n")
197
+ template_files.map { |template_file| read_template(template_file) }.join(join)
198
+ end
199
+
200
+ # Local template path is handy when you want template files used when working with the --template flag
201
+ attr_accessor :local_template_path
202
+
173
203
  def source_paths
174
- [
175
- context.rails_override_template_path,
176
- context.rails_template_path
177
- ]
204
+ paths = local_template_path ? [local_template_path] : []
205
+ paths << context.rails_override_template_path
206
+ paths << context.rails_template_path
207
+ paths
178
208
  end
179
209
 
180
210
  # Context wraps the configured options and can be made available to addons
211
+ # TODO: should I add local_template_path to the context?
181
212
  def context
182
213
  @context ||= Context.new(
183
214
  self.class.rails_template_path,
@@ -201,12 +232,40 @@ module RailsAppGenerator
201
232
  add(addon) if options[option_name]
202
233
  end
203
234
 
235
+ def skip_flag?(option_name)
236
+ value = options["skip_#{option_name}".to_sym]
237
+
238
+ return false if value.nil?
239
+
240
+ value == true
241
+ end
242
+
243
+ def add_flag?(option_name)
244
+ value = options["add_#{option_name}".to_sym]
245
+
246
+ return false if value.nil?
247
+
248
+ value == true
249
+ end
250
+
251
+ def active?(option_name)
252
+ add_flag?(option_name) || !skip_flag?(option_name)
253
+ end
254
+
204
255
  def uses?(addon)
205
- return false if options["skip_#{addon}".to_sym]
256
+ return false unless active?(addon)
206
257
 
207
258
  addon = AddOn.get(addon)
208
259
  Dependencies.new(addon, context).satisfied?
209
260
  end
210
261
  end
262
+
263
+ protected
264
+
265
+ # rubocop:disable Naming/AccessorMethodName
266
+ def get_builder_class
267
+ RailsAppGenerator::AppBuilder
268
+ end
269
+ # rubocop:enable Naming/AccessorMethodName
211
270
  end
212
271
  end
@@ -7,7 +7,6 @@ create Gemfile
7
7
  create app
8
8
  create app/assets/config/manifest.js
9
9
  create app/assets/stylesheets/application.css
10
- create app/bob/boblike.txt
11
10
  create app/channels/application_cable/channel.rb
12
11
  create app/channels/application_cable/connection.rb
13
12
  create app/controllers/application_controller.rb
@@ -75,6 +74,20 @@ create tmp/cache
75
74
  create tmp/cache/assets
76
75
  create vendor
77
76
  create vendor/.keep
77
+ create test/fixtures/files
78
+ create test/fixtures/files/.keep
79
+ create test/controllers
80
+ create test/controllers/.keep
81
+ create test/mailers
82
+ create test/mailers/.keep
83
+ create test/models
84
+ create test/models/.keep
85
+ create test/helpers
86
+ create test/helpers/.keep
87
+ create test/integration
88
+ create test/integration/.keep
89
+ create test/channels/application_cable/connection_test.rb
90
+ create test/test_helper.rb
78
91
  create test/system
79
92
  create test/system/.keep
80
93
  create test/application_system_test_case.rb
@@ -5,7 +5,7 @@ module RailsAppGenerator
5
5
  # NOTE: Currently you need to register new options in two places
6
6
  # here and in lib/rails_app_generator/app_generator.rb
7
7
 
8
- future_option :template , type: :string # , desc: "Path to some #{name} template (can be a filesystem path or URL)"
8
+ register_option :template , type: :string # , desc: "Path to some #{name} template (can be a filesystem path or URL)"
9
9
  future_option :database , type: :string , default: 'sqlite3' # , desc: "Preconfigure for selected database (options: #{DATABASES.join('/')})"
10
10
  register_option :skip_git , type: :boolean, default: false # , desc: "Skip .gitignore file"
11
11
  future_option :skip_keeps , type: :boolean, default: false # , desc: "Skip source control .keep files"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.0.6'
4
+ VERSION = '0.0.9'
5
5
  end
@@ -17,9 +17,9 @@ require 'rails_app_generator/options/map_option_boolean_flag'
17
17
  require 'rails_app_generator/options/build_option'
18
18
  require 'rails_app_generator/options/options_builder'
19
19
  require 'rails_app_generator/options/rails_options'
20
- require_relative 'rails_app_generator/context'
21
- require_relative 'rails_app_generator/dependencies'
22
- require_relative 'rails_app_generator/add_on'
20
+ require 'rails_app_generator/context'
21
+ require 'rails_app_generator/dependencies'
22
+ require 'rails_app_generator/add_on'
23
23
  Dir[File.join(__dir__, 'rails_app_generator', 'addons', '*.rb')].sort.each { |file| require file }
24
24
  require 'rails_app_generator/app_builder'
25
25
  require 'rails_app_generator/app_generator'
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.0.6",
9
+ "version": "0.0.9",
10
10
  "devDependencies": {
11
11
  "@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
12
12
  "@semantic-release/changelog": "^6.0.1",
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
@@ -0,0 +1,11 @@
1
+ {
2
+ "args": {
3
+ "app_path": "add-some-pages",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_bundle": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/test.rb"
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "args": {
3
+ "app_path": "bootstrap",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_test": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/rag_bootstrap.rb",
10
+ "css": "bootstrap"
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "args": {
3
+ "app_path": "simple",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_bundle": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/rag_simple.rb"
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "args": {
3
+ "app_path": "tailwind",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_test": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/rag_tailwind.rb",
10
+ "css": "tailwind"
11
+ }
12
+ }
@@ -0,0 +1,43 @@
1
+ # <%= app_name.humanize %>
2
+
3
+ ## Running your App
4
+
5
+ The simplest way to start this up is by using [docker-compose](https://docs.docker.com/compose/):
6
+
7
+ ```bash
8
+ docker-compose up
9
+ ```
10
+
11
+ ```
12
+ rails db:setup
13
+ rails db:migrate
14
+ rails server
15
+ ```
16
+
17
+ Open your browser on [localhost:3000](http://localhost:3000).
18
+
19
+ ## Development
20
+
21
+ This app was generated using [Schienenzeppelin](https://github.com/hschne/schienenzeppelin) - there are tons of little tweaks to simplify your development workflow.
22
+
23
+ For more details refer to the [Documentation](https://github.com/hschne/schienenzeppelin)
24
+
25
+ ## Deployment
26
+
27
+ Deploy this application using Capistrano. Make sure you have a server set up and edit [deploy.rb](./config/deploy.rb) and [config/production.rb](./config/deploy/production.rb).
28
+
29
+ ``` ruby
30
+ # deploy.rb
31
+ set :repo_url, "git@github.com:user/your-project.git"
32
+
33
+ # production.rb
34
+ server "myserver.com", user: "deploy", roles: %w{app db web}
35
+ ```
36
+
37
+ Then run:
38
+
39
+ ```bash
40
+ cap production deploy
41
+ ```
42
+
43
+ For more information on how to prepare a server for deployment you can follow [this guide](https://gorails.com/deploy/ubuntu/20.04).
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_app_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-21 00:00:00.000000000 Z
11
+ date: 2022-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: tailwindcss-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: turbo-rails
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -112,13 +126,14 @@ description: " Create new Rails Application with custom opinions\n"
112
126
  email:
113
127
  - david@ideasmen.com.au
114
128
  executables:
115
- - rails_app_generator
129
+ - rag
116
130
  extensions: []
117
131
  extra_rdoc_files: []
118
132
  files:
119
133
  - ".builders/_.rb"
120
134
  - ".builders/boot.rb"
121
135
  - ".builders/generators/01-bootstrap.rb"
136
+ - ".builders/generators/project-plan.rb"
122
137
  - ".releaserc.json"
123
138
  - ".rspec"
124
139
  - ".rubocop.yml"
@@ -130,9 +145,41 @@ files:
130
145
  - LICENSE.txt
131
146
  - README.md
132
147
  - Rakefile
148
+ - after_templates/README.md
149
+ - after_templates/___base_template.rb
150
+ - after_templates/___r7_hotwire.rb
151
+ - after_templates/rag_bootstrap.rb
152
+ - after_templates/rag_bootstrap/application-yield.html.erb
153
+ - after_templates/rag_bootstrap/application.html.erb
154
+ - after_templates/rag_bootstrap/component-cards-fancy.css
155
+ - after_templates/rag_bootstrap/component-cards-fancy.html
156
+ - after_templates/rag_bootstrap/component-cards-staff.css
157
+ - after_templates/rag_bootstrap/component-cards-staff.html
158
+ - after_templates/rag_bootstrap/component-cards-styled.html
159
+ - after_templates/rag_bootstrap/component-footer.html
160
+ - after_templates/rag_bootstrap/component-hero.html
161
+ - after_templates/rag_bootstrap/component-nav.html
162
+ - after_templates/rag_bootstrap/custom-bootstrap-import.scss
163
+ - after_templates/rag_bootstrap/custom-using-css.css
164
+ - after_templates/rag_bootstrap/custom-using-scss.scss
165
+ - after_templates/rag_bootstrap/manifest.js
166
+ - after_templates/rag_simple.rb
167
+ - after_templates/rag_tailwind.rb
168
+ - after_templates/rag_tailwind/component-cta.html
169
+ - after_templates/rag_tailwind/component-faq.html
170
+ - after_templates/rag_tailwind/component-footer.html
171
+ - after_templates/rag_tailwind/component-hero.html
172
+ - after_templates/rag_tailwind/component-nav.html
173
+ - after_templates/rag_tailwind/component-section-begin.html
174
+ - after_templates/rag_tailwind/component-section-end.html
133
175
  - bin/console
134
176
  - bin/setup
135
- - exe/rails_app_generator
177
+ - docs/project-plan.md
178
+ - docs/project-plan/project.drawio
179
+ - docs/project-plan/project_done.svg
180
+ - docs/project-plan/project_in_progress.svg
181
+ - docs/project-plan/project_todo.svg
182
+ - exe/rag
136
183
  - lib/rails_app_generator.rb
137
184
  - lib/rails_app_generator/add_on.rb
138
185
  - lib/rails_app_generator/addons/annotate.rb
@@ -187,7 +234,12 @@ files:
187
234
  - lib/rails_app_generator/version.rb
188
235
  - package-lock.json
189
236
  - package.json
237
+ - profiles/rag-add-some-pages.json
238
+ - profiles/rag-bootstrap.json
239
+ - profiles/rag-simple.json
240
+ - profiles/rag-tailwind.json
190
241
  - sig/rails_app_generator.rbs
242
+ - templates/README.md.erb
191
243
  - templates/addons/annotate/auto_annotate_models.rake
192
244
  - templates/addons/continuous_integration/.github/workflows/build.yml.erb
193
245
  - templates/addons/devise/app/views/devise/confirmations/new.html.erb
@@ -1,51 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'pathname'
5
-
6
- source_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../lib")
7
- $LOAD_PATH << source_path
8
-
9
- require 'rails_app_generator'
10
-
11
- # if ARGV.empty?
12
- # puts 'Please provide a path for the new application'
13
- # puts
14
- # puts 'See --help for more info'
15
- # exit 0
16
- # elsif %w[-v --version].include? ARGV[0]
17
- # puts RailsAppGenerator::VERSION
18
- # exit 0
19
- # end
20
-
21
- # templates_root = File.expand_path(File.join('..', 'templates'), File.dirname(__FILE__))
22
- # RailsAppGenerator::AppGenerator.source_root templates_root
23
- # RailsAppGenerator::AppGenerator.source_paths << Rails::Generators::AppGenerator.source_root << templates_root
24
-
25
- # RailsAppGenerator::AppGenerator.start
26
- require 'pry'
27
-
28
- args = {
29
- app_path: 'kw01_bootstrap',
30
- destination_root: '/Users/davidcruwys/dev/kweb'
31
- }
32
- opts = {
33
- skip_git: true,
34
- skip_bundle: false
35
- # css: 'bootstrap'
36
- }
37
-
38
- # RailsAppGenerator::AppGenerator.override_template_path = '/Users/davidcruwys/dev/kgems/rails_app_generator/templates'
39
- # RailsAppGenerator::AppGenerator.addon_template_path = '/Users/davidcruwys/dev/kgems/rails_app_generator/templates/addons/%<addon>'
40
-
41
- instance = RailsAppGenerator::Starter.new(args)
42
- FileUtils.rm_rf(instance.target_path)
43
-
44
- rails_options = RailsAppGenerator::RailsOptions.new(opts)
45
- instance.start(rails_options)
46
-
47
- # system 'gem env'
48
-
49
- # console_output_file = File.expand_path('../../../lib/rails_app_generator/notes/kw01.txt', File.join(File.dirname(__FILE__)))
50
-
51
- # File.write(console_output_file, instance.console_output.split("\n").compact.collect(&:strip).join("\n"))