rsg 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +44 -3
  3. data/Gemfile.lock +5 -4
  4. data/README.md +13 -6
  5. data/exe/rsg +1 -1
  6. data/lib/rsg/generators/actions.rb +39 -5
  7. data/lib/rsg/generators/app/app_builder.rb +23 -36
  8. data/lib/rsg/generators/app/app_generator.rb +62 -67
  9. data/lib/rsg/generators/base.rb +2 -0
  10. data/lib/rsg/generators/dotenv/install_generator.rb +14 -20
  11. data/lib/rsg/generators/logging/common_generator.rb +17 -23
  12. data/lib/rsg/generators/logging/lograge_generator.rb +14 -24
  13. data/lib/rsg/generators/logging/templates/{initializer_lograge.rb → initializer_lograge.rb.tt} +0 -0
  14. data/lib/rsg/generators/misc/misc_generator.rb +47 -38
  15. data/lib/rsg/generators/misc/templates/{puma.rb → puma.rb.tt} +0 -0
  16. data/lib/rsg/generators/orm/active_record_generator.rb +38 -32
  17. data/lib/rsg/generators/orm/templates/{db.rake → db.rake.tt} +0 -0
  18. data/lib/rsg/generators/orm/templates/{samples.rb → samples.rb.tt} +0 -0
  19. data/lib/rsg/generators/orm/templates/{seeds.rb → seeds.rb.tt} +0 -0
  20. data/lib/rsg/generators/testing/rspec_generator.rb +19 -25
  21. data/lib/rsg/generators/webpacker/bootstrap_generator.rb +27 -0
  22. data/lib/rsg/generators/webpacker/install_generator.rb +37 -47
  23. data/lib/rsg/generators/webpacker/templates/bootstrap/application.sass +40 -0
  24. data/lib/rsg/generators/webpacker/templates/bootstrap/landing.html.erb +18 -0
  25. data/lib/rsg/generators/webpacker/templates/bootstrap/layout.html.erb +35 -0
  26. data/lib/rsg/generators/webpacker/templates/landing_controller.rb.erb +1 -1
  27. data/lib/rsg/version.rb +1 -1
  28. data/lib/rsg.rb +6 -15
  29. data/rsg.gemspec +4 -0
  30. data/templates/rsg-bootstrap.rb +7 -0
  31. data/templates/rsg-default.rb +10 -3
  32. metadata +26 -12
  33. data/lib/rsg/generators/gemfile/cleanup_generator.rb +0 -28
  34. data/lib/rsg/generators/install/install_generator.rb +0 -13
  35. data/lib/rsg/generators/orm/templates/active_record/mysql.yml +0 -59
  36. data/lib/rsg/generators/orm/templates/active_record/postgresql.yml +0 -86
  37. data/lib/rsg/generators/orm/templates/active_record/sqlite3.yml +0 -25
@@ -1,20 +1,34 @@
1
- require_relative "../base"
1
+ class Rsg::Generators::Misc::MiscGenerator < Rsg::Generators::Base
2
+ def banner
3
+ say "Making some extra tweaks"
4
+ end
5
+
6
+ def remove_assets
7
+ run "rm -rf app/assets"
8
+ end
9
+
10
+ def remove_gemfile_comments
11
+ gsub_file "Gemfile", /^ *#\s*[^#\n]+\n/, ""
12
+ end
13
+
14
+ def remove_tzinfo_gem
15
+ # Remove tzinfo-data since we don't have a need for it in dev / prod env, if
16
+ # rsg becomes a thing on the platforms it's needed we can revisit
17
+ gsub_file "Gemfile", /\ngem 'tzinfo-data'[^\n]+\n/, ""
18
+ end
2
19
 
3
- module Rsg
4
- module Misc
5
- class MiscGenerator < Generators::Base
6
- def self.source_root
7
- Pathname.new(__FILE__).dirname.join("templates").expand_path
8
- end
20
+ def remove_gemfile_extra_whitespace
21
+ gsub_file "Gemfile", /^( *gem[^\n]+)\n\n\n/, "\\1\n\n"
22
+ end
9
23
 
10
- def banner
11
- say "Making some extra tweaks"
12
- end
24
+ def isolate_rails_gem
25
+ gsub_file "Gemfile", /^( *)(gem ["']rails["'][^\n]+)\n(?: *)(gem ['"]puma['"][^\n]+)\n$/, "\\1\\2\n\n\\3"
26
+ end
13
27
 
14
- def disable_assets_generators
15
- return if api_mode?
28
+ def disable_assets_generators
29
+ return if api_mode?
16
30
 
17
- inject_into_file "config/application.rb", <<-CODE, before: /^\s*# Don't generate system test files./
31
+ inject_into_file "config/application.rb", <<-CODE, before: /^\s*# Don't generate system test files./
18
32
 
19
33
  # Don't generate CSS files when using scaffolding commands, since we compile assets through webpacker
20
34
  config.generators.assets = false
@@ -24,38 +38,33 @@ module Rsg
24
38
  # Most of time we can get away with a handful of methods in the default application_helper. Other ones
25
39
  # can be introduced as needed
26
40
  config.generators.helper = false
27
- CODE
28
- end
29
-
30
- def configure_pry
31
- append_gem "pry-rails", within_group: :development
32
- end
41
+ CODE
42
+ end
33
43
 
34
- def remove_assets
35
- run "rm -rf app/assets"
36
- end
44
+ def configure_pry
45
+ append_gem "pry-rails", within_group: :development
46
+ end
37
47
 
38
- # TODO: Skip puma on app generator, introduce a new Puma::InstallGenerator
39
- def puma_configs
40
- copy_file "puma.rb", "config/puma.rb", force: true
41
- end
48
+ # TODO: Skip puma on app generator, introduce a new Puma::InstallGenerator
49
+ def puma_configs
50
+ copy_file "puma.rb", "config/puma.rb", force: true
51
+ end
42
52
 
43
- # TODO: Move to an i18n generator that does this and more
44
- def configure_environments
45
- # If by any chance we make use of translations, let them fail and get
46
- # caught early on the dev process
47
- uncomment_lines "config/environments/development.rb", /raise_on_missing_translations/
48
- uncomment_lines "config/environments/test.rb", /raise_on_missing_translations/
49
- end
53
+ # TODO: Move to an i18n generator that does this and more
54
+ def configure_environments
55
+ # If by any chance we make use of translations, let them fail and get
56
+ # caught early on the dev process
57
+ uncomment_lines "config/environments/development.rb", /raise_on_missing_translations/
58
+ uncomment_lines "config/environments/test.rb", /raise_on_missing_translations/
59
+ end
50
60
 
51
- def healthcheck
52
- inject_into_file "config/routes.rb", <<-CODE, before: "end"
61
+ # TODO: Move to rsg-dox
62
+ def healthcheck
63
+ inject_into_file "config/routes.rb", <<-CODE, before: "end"
53
64
 
54
65
  # Defines a static healthcheck for probes. Please note that this won't
55
66
  # output any logs in production
56
67
  get :healthcheck, to: proc { [200, {}, ['OK']] }
57
- CODE
58
- end
59
- end
68
+ CODE
60
69
  end
61
70
  end
@@ -1,44 +1,50 @@
1
- require_relative "../base"
1
+ class Rsg::Generators::Orm::ActiveRecordGenerator < Rsg::Generators::Base
2
+ include Rails::Generators::Database
2
3
 
3
- module Rsg
4
- module Orm
5
- class ActiveRecordGenerator < Generators::Base
6
- include Rails::Generators::Database
4
+ SUPPORTED_DBS = %w(sqlite3 mysql postgres)
5
+ class_option :database, type: :string, default: nil, desc: "Configure for selected database (options: #{SUPPORTED_DBS.join("/")})"
6
+ class_option :auto_migrate, type: :boolean, default: nil, desc: "Automatically run rake db:migrate"
7
7
 
8
- SUPPORTED_DBS = %w(sqlite3 mysql postgres)
9
- class_option :database, type: :string, default: nil, desc: "Configure for selected database (options: #{SUPPORTED_DBS.join("/")})"
10
-
11
- def self.source_root
12
- Pathname.new(__FILE__).dirname.join("templates").expand_path
13
- end
8
+ def self.source_root
9
+ Pathname.new(__FILE__).dirname.join("templates").expand_path
10
+ end
14
11
 
15
- def banner
16
- say "Configuring active record"
17
- end
12
+ def self.source_paths
13
+ @__source_paths ||= [
14
+ Rails::Generators::AppGenerator.source_root,
15
+ Pathname.new(__FILE__).dirname.join("templates").expand_path
16
+ ]
17
+ end
18
18
 
19
- def enable_active_record
20
- enable_railtie "active_record"
21
- end
19
+ def banner
20
+ say "Configuring active record"
21
+ end
22
22
 
23
- def configure_driver
24
- database = options.fetch(:database) { ask("Which database you'd like to use?", limited_to: SUPPORTED_DBS, default: "sqlite3") }
25
- template "active_record/#{database}.yml", "config/database.yml"
23
+ def enable_active_record
24
+ enable_railtie "active_record"
25
+ end
26
26
 
27
- name, version = gem_for_database(database)
28
- append_gem name, version: version
29
- end
27
+ def configure_driver
28
+ database ||= options.fetch(:database) { ask("Which database you'd like to use?", limited_to: SUPPORTED_DBS, default: "sqlite3") }
29
+ # From the core rails template
30
+ template "config/databases/#{database}.yml", "config/database.yml"
30
31
 
31
- def write_db_sample
32
- copy_file "db.rake", "lib/tasks/db.rake"
33
- copy_file "seeds.rb", "db/seeds.rb"
34
- copy_file "samples.rb", "db/samples.rb"
35
- end
32
+ name, version = gem_for_database(database)
33
+ append_gem name, version: version
34
+ end
36
35
 
37
- def migrate
38
- return if no?("Would you like to create the database schema?")
36
+ def write_db_sample
37
+ copy_file "db.rake", "lib/tasks/db.rake"
38
+ copy_file "seeds.rb", "db/seeds.rb"
39
+ copy_file "samples.rb", "db/samples.rb"
40
+ end
39
41
 
40
- rake "db:create db:migrate"
41
- end
42
+ def migrate
43
+ if options.key?(:auto_migrate)
44
+ rake "db:create db:migrate" if options[:auto_migrate]
45
+ return
42
46
  end
47
+
48
+ rake "db:create db:migrate" unless no?("Would you like to create the database schema?")
43
49
  end
44
50
  end
@@ -1,33 +1,27 @@
1
- require_relative "../base"
2
-
3
- module Rsg
4
- module Testing
5
- class RspecGenerator < Generators::Base
6
- def banner
7
- say "Configuring rspec"
8
- end
1
+ class Rsg::Generators::Testing::RspecGenerator < Rsg::Generators::Base
2
+ def banner
3
+ say "Configuring rspec"
4
+ end
9
5
 
10
- def add_rspec
11
- append_gem "rspec-rails", within_group: [:development, :test]
12
- end
6
+ def add_rspec
7
+ append_gem "rspec-rails", within_group: [:development, :test]
8
+ end
13
9
 
14
- def gitignore
15
- append_file ".gitignore", "\n# Ignore rspec state\n/spec/examples.txt\n"
16
- end
10
+ def gitignore
11
+ append_file ".gitignore", "\n# Ignore rspec state\n/spec/examples.txt\n"
12
+ end
17
13
 
18
- def install
19
- generate("rspec:install")
20
- end
14
+ def install
15
+ generate("rspec:install")
16
+ end
21
17
 
22
- def enable_recommendations
23
- gsub_file "spec/spec_helper.rb", /^# The settings below[^=]+=begin\n(.+)\n=end/m, '\1'
24
- end
18
+ def enable_recommendations
19
+ gsub_file "spec/spec_helper.rb", /^# The settings below[^=]+=begin\n(.+)\n=end/m, '\1'
20
+ end
25
21
 
26
- def no_ci_focus
27
- gsub_file "spec/spec_helper.rb", /^ config\.filter_run_when_matching :focus$/ do
28
- " if ENV.key?(\"CI\")\n config.filter_run_when_matching :focus\n end"
29
- end
30
- end
22
+ def no_ci_focus
23
+ gsub_file "spec/spec_helper.rb", /^ config\.filter_run_when_matching :focus$/ do
24
+ " if ENV.key?(\"CI\")\n config.filter_run_when_matching :focus\n end"
31
25
  end
32
26
  end
33
27
  end
@@ -0,0 +1,27 @@
1
+ class Rsg::Generators::Webpacker::BootstrapGenerator < Rsg::Generators::Base
2
+ def sanity_check
3
+ raise "Can't configure bootstrap on API apps" if api_mode?
4
+ end
5
+
6
+ def banner
7
+ say("Configuring Bootstrap")
8
+ end
9
+
10
+ def add_bootstrap
11
+ return say("Bootstrap already installed, skipping") if File.read("yarn.lock") =~ /^bootstrap[^:]+:/
12
+ run "yarn add bootstrap bootstrap-icons"
13
+ end
14
+
15
+ def application_sass
16
+ copy_file "bootstrap/application.sass", "app/javascript/stylesheets/application.sass"
17
+ end
18
+
19
+ def htmls
20
+ # TODO: These will ask to confirm for an overwrite, should we just force?
21
+ template "bootstrap/layout.html.erb", "app/views/layouts/application.html.erb"
22
+ template "bootstrap/landing.html.erb", "app/views/landing/show.html.erb"
23
+ # template "bootstrap/about.html.erb", "app/views/landing/about.html.erb"
24
+ # template "bootstrap/contact.html.erb", "app/views/landing/contact.html.erb"
25
+ # template "bootstrap/login.html.erb", "app/views/landing/login.html.erb"
26
+ end
27
+ end
@@ -1,51 +1,41 @@
1
- require_relative "../base"
2
-
3
- module Rsg
4
- module Webpacker
5
- class InstallGenerator < Generators::Base
6
- def self.source_root
7
- Pathname.new(__FILE__).dirname.join("templates").expand_path
8
- end
9
-
10
- def sanity_check
11
- raise "Can't configure webpacker on API apps yet" if api_mode?
12
- end
13
-
14
- def banner
15
- say("Configuring webpacker")
16
- end
17
-
18
- def add_webpacker
19
- append_gem("webpacker", version: "~> 5.0")
20
- end
21
-
22
- def install_webpacker
23
- rake("webpacker:install")
24
- end
25
-
26
- def configure_js
27
- copy_file "application.js", "app/javascript/packs/application.js", force: true
28
-
29
- inject_into_file "app/views/layouts/application.html.erb",
30
- " <%= javascript_pack_tag 'application' %>\n ",
31
- before: /<\/body>/
32
- end
33
-
34
- def configure_sass
35
- copy_file "application.sass", "app/javascript/stylesheets/application.sass"
36
- gsub_file "app/views/layouts/application.html.erb",
37
- "stylesheet_link_tag",
38
- "stylesheet_pack_tag"
39
- end
40
-
41
- def configure_landing
42
- template "landing_controller.rb.erb", "app/controllers/landing_controller.rb"
43
- copy_file "landing_show.html.erb", "app/views/landing/show.html.erb"
44
- inject_into_file "config/routes.rb", <<-CODE, before: "end"
1
+ class Rsg::Generators::Webpacker::InstallGenerator < Rsg::Generators::Base
2
+ def sanity_check
3
+ raise "Can't configure webpacker on API apps" if api_mode?
4
+ end
5
+
6
+ def banner
7
+ say("Configuring webpacker")
8
+ end
9
+
10
+ def add_webpacker
11
+ append_gem("webpacker", version: "~> 5.0")
12
+ end
13
+
14
+ def install_webpacker
15
+ rake("webpacker:install")
16
+ end
17
+
18
+ def configure_js
19
+ copy_file "application.js", "app/javascript/packs/application.js", force: true
20
+
21
+ inject_into_file "app/views/layouts/application.html.erb",
22
+ " <%= javascript_pack_tag 'application' %>\n ",
23
+ before: /<\/body>/
24
+ end
25
+
26
+ def configure_sass
27
+ copy_file "application.sass", "app/javascript/stylesheets/application.sass"
28
+ gsub_file "app/views/layouts/application.html.erb",
29
+ "stylesheet_link_tag",
30
+ "stylesheet_pack_tag"
31
+ end
32
+
33
+ def configure_landing
34
+ template "landing_controller.rb.erb", "app/controllers/landing_controller.rb"
35
+ copy_file "landing_show.html.erb", "app/views/landing/show.html.erb"
36
+ inject_into_file "config/routes.rb", <<-CODE, before: "end"
45
37
 
46
38
  root 'landing#show'
47
- CODE
48
- end
49
- end
39
+ CODE
50
40
  end
51
41
  end
@@ -0,0 +1,40 @@
1
+ // This is a manifest file that'll be compiled into application.css.
2
+
3
+ @import "bootstrap"
4
+
5
+ $bootstrap-icons-font-src: url("~bootstrap-icons/font/fonts/bootstrap-icons.woff2") format("woff2"), url("~bootstrap-icons/font/fonts/bootstrap-icons.woff") format("woff")
6
+ @import "bootstrap-icons/font/bootstrap-icons.scss"
7
+
8
+ .bd-placeholder-img
9
+ font-size: 1.125rem
10
+ text-anchor: middle
11
+ -webkit-user-select: none
12
+ -moz-user-select: none
13
+ user-select: none
14
+
15
+ @media (min-width: 768px)
16
+ .bd-placeholder-img-lg
17
+ font-size: 3.5rem
18
+
19
+ .nav
20
+ .nav-link
21
+ padding: .25rem 0
22
+ font-weight: 700
23
+ color: rgba(255, 255, 255, .5)
24
+ background-color: transparent
25
+ border-bottom: .25rem solid transparent
26
+
27
+ .nav-link:hover,
28
+ .nav-link:focus
29
+ border-bottom-color: rgba(255, 255, 255, .25)
30
+
31
+ .nav-link + .nav-link
32
+ margin-left: 1rem
33
+
34
+ .active
35
+ color: #fff
36
+ border-bottom-color: #fff
37
+
38
+ .landing-show
39
+ @extend .bg-dark
40
+ @extend .text-white
@@ -0,0 +1,18 @@
1
+ <%%# https://getbootstrap.com/docs/5.1/examples/cover/ %>
2
+ <main class="px-3 text-center">
3
+ <h1>
4
+ <i class="bi-gem"></i>
5
+ Welcome to <%= app_name.humanize %>!
6
+ <i class="bi-gem"></i>
7
+ </h1>
8
+ <p class="lead">
9
+ TODO: Some "lorem ipsum", show Rails and RSG versions
10
+ </p>
11
+ <p class="lead">
12
+ <a href="#" class="btn btn-lg btn-success fw-bold">
13
+ <i class="bi-currency-dollar"></i>
14
+ Call to action
15
+ <i class="bi-currency-dollar"></i>
16
+ </a>
17
+ </p>
18
+ </main>
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html class="h-100">
3
+ <head>
4
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
+ <meta charset="utf-8">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+ <title><%= app_name.humanize %></title>
9
+ <%%= stylesheet_pack_tag 'application', media: 'all' %>
10
+ </head>
11
+
12
+ <body class="d-flex flex-column mx-auto h-100 w-100 bg-light <%%= controller_name.dasherize %>-<%%= action_name.dasherize %>">
13
+ <div class="bg-dark w-100 mb-auto">
14
+ <header class="container d-flex justify-content-between py-2">
15
+ <h3 class=" text-white"><%= app_name.humanize %></h3>
16
+ <nav class="nav justify-content-center ">
17
+ <a class="nav-link active" aria-current="page" href="#">Home</a>
18
+ <a class="nav-link" href="#">Features</a>
19
+ <a class="nav-link" href="#">Contact</a>
20
+ </nav>
21
+ </header>
22
+ </div>
23
+
24
+ <div class="container px-0 pt-3">
25
+ <%%= yield %>
26
+ </div>
27
+
28
+ <div class="bg-dark mt-auto py-3 text-center">
29
+ <footer class="container text-white-50">
30
+ © <%%= Date.today.year %> <%= app_name.humanize %>, inc.
31
+ </footer>
32
+ </div>
33
+ <%%= javascript_pack_tag 'application' %>
34
+ </body>
35
+ </html>
@@ -1,6 +1,6 @@
1
1
  class LandingController < ApplicationController
2
2
  def show
3
- @rails_version = Rails::VERSION
3
+ @rails_version = Rails.version
4
4
  @rsg_version = "<%= Rsg::VERSION %>"
5
5
  end
6
6
  end
data/lib/rsg/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Rsg
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  RAILS_VERSION = "~> 6.1.4"
4
4
  end
data/lib/rsg.rb CHANGED
@@ -1,19 +1,7 @@
1
- require_relative "rsg/version"
1
+ require "zeitwerk"
2
2
 
3
- require_relative "rsg/generators/actions"
4
- require_relative "rsg/generators/options"
5
- require_relative "rsg/generators/base"
6
-
7
- require_relative "rsg/generators/app/app_generator"
8
- require_relative "rsg/generators/dotenv/install_generator"
9
- require_relative "rsg/generators/gemfile/cleanup_generator"
10
- require_relative "rsg/generators/install/install_generator"
11
- require_relative "rsg/generators/logging/common_generator"
12
- require_relative "rsg/generators/logging/lograge_generator"
13
- require_relative "rsg/generators/misc/misc_generator"
14
- require_relative "rsg/generators/orm/active_record_generator"
15
- require_relative "rsg/generators/testing/rspec_generator"
16
- require_relative "rsg/generators/webpacker/install_generator"
3
+ loader = Zeitwerk::Loader.for_gem
4
+ loader.setup
17
5
 
18
6
  module Rsg
19
7
  def self.app_templates_sources
@@ -34,3 +22,6 @@ module Rsg
34
22
  return nil
35
23
  end
36
24
  end
25
+
26
+ # Required, or the classes for the generators won't be defined
27
+ loader.eager_load
data/rsg.gemspec CHANGED
@@ -25,4 +25,8 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ["lib"]
26
26
 
27
27
  spec.add_dependency "rails", Rsg::RAILS_VERSION
28
+
29
+ # Rails already adds zeitwerk as a dependency but since we rely on it for
30
+ # autoloading constants we belive it is good to call it out
31
+ spec.add_dependency "zeitwerk"
28
32
  end
@@ -0,0 +1,7 @@
1
+ # rsg --template rsg-bootstrap path/to/app
2
+ rsg_apply_default!({
3
+ active_record: { auto_migrate: true },
4
+ webpacker: true,
5
+ })
6
+
7
+ rsg_generate "rsg:webpacker:bootstrap"
@@ -6,12 +6,19 @@ git_add_commit "Rails app generated with rsg v#{Rsg::VERSION}, api_mode=#{option
6
6
  say("Adding rsg gem to application")
7
7
  rsg_install
8
8
 
9
- rsg_generate "rsg:gemfile:cleanup"
10
9
  rsg_generate "rsg:misc:misc"
11
10
  rsg_generate "rsg:logging:common"
12
11
  rsg_generate "rsg:dotenv:install"
13
- rsg_generate "rsg:orm:active_record" if confirm?("Do you want to configure active_record?")
14
- rsg_generate "rsg:webpacker:install" unless options[:api]
12
+
13
+ rsg_skip_or_confirm(:active_record, "Do you want to configure active_record?") do
14
+ rsg_generate "rsg:orm:active_record", rsg_options[:active_record]
15
+ end
16
+
17
+ if !options[:api]
18
+ rsg_skip_or_confirm(:webpacker, "Do you want to configure webpacker?") do
19
+ rsg_generate "rsg:webpacker:install"
20
+ end
21
+ end
15
22
 
16
23
  rsg_generate "rsg:logging:lograge"
17
24
  rsg_generate "rsg:testing:rspec"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Doximity Engineering
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-05 00:00:00.000000000 Z
11
+ date: 2021-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 6.1.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: zeitwerk
29
+ requirement: !ruby/object:Gem::Requirement
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
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description:
28
42
  email:
29
43
  - engineering@doximity.com
@@ -54,30 +68,30 @@ files:
54
68
  - lib/rsg/generators/dotenv/install_generator.rb
55
69
  - lib/rsg/generators/dotenv/templates/env.development
56
70
  - lib/rsg/generators/dotenv/templates/env.test
57
- - lib/rsg/generators/gemfile/cleanup_generator.rb
58
- - lib/rsg/generators/install/install_generator.rb
59
71
  - lib/rsg/generators/logging/common_generator.rb
60
72
  - lib/rsg/generators/logging/lograge_generator.rb
61
- - lib/rsg/generators/logging/templates/initializer_lograge.rb
73
+ - lib/rsg/generators/logging/templates/initializer_lograge.rb.tt
62
74
  - lib/rsg/generators/misc/misc_generator.rb
63
- - lib/rsg/generators/misc/templates/puma.rb
75
+ - lib/rsg/generators/misc/templates/puma.rb.tt
64
76
  - lib/rsg/generators/options.rb
65
77
  - lib/rsg/generators/orm/active_record_generator.rb
66
- - lib/rsg/generators/orm/templates/active_record/mysql.yml
67
- - lib/rsg/generators/orm/templates/active_record/postgresql.yml
68
- - lib/rsg/generators/orm/templates/active_record/sqlite3.yml
69
- - lib/rsg/generators/orm/templates/db.rake
70
- - lib/rsg/generators/orm/templates/samples.rb
71
- - lib/rsg/generators/orm/templates/seeds.rb
78
+ - lib/rsg/generators/orm/templates/db.rake.tt
79
+ - lib/rsg/generators/orm/templates/samples.rb.tt
80
+ - lib/rsg/generators/orm/templates/seeds.rb.tt
72
81
  - lib/rsg/generators/testing/rspec_generator.rb
82
+ - lib/rsg/generators/webpacker/bootstrap_generator.rb
73
83
  - lib/rsg/generators/webpacker/install_generator.rb
74
84
  - lib/rsg/generators/webpacker/templates/application.js
75
85
  - lib/rsg/generators/webpacker/templates/application.sass
86
+ - lib/rsg/generators/webpacker/templates/bootstrap/application.sass
87
+ - lib/rsg/generators/webpacker/templates/bootstrap/landing.html.erb
88
+ - lib/rsg/generators/webpacker/templates/bootstrap/layout.html.erb
76
89
  - lib/rsg/generators/webpacker/templates/landing_controller.rb.erb
77
90
  - lib/rsg/generators/webpacker/templates/landing_show.html.erb
78
91
  - lib/rsg/version.rb
79
92
  - rsg.gemspec
80
93
  - templates/README.md
94
+ - templates/rsg-bootstrap.rb
81
95
  - templates/rsg-default.rb
82
96
  homepage: https://github.com/doximity/rsg
83
97
  licenses: