schienenzeppelin 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +17 -0
  3. data/.github/workflows/outdated.yml +20 -0
  4. data/.gitignore +282 -0
  5. data/.rspec_status +3 -0
  6. data/.rubocop.yml +28 -0
  7. data/.tool-versions +1 -0
  8. data/CODE_OF_CONDUCT.md +84 -0
  9. data/GALLERY.md +29 -0
  10. data/Gemfile +13 -0
  11. data/Gemfile.lock +184 -0
  12. data/LICENSE +21 -0
  13. data/LICENSE.txt +21 -0
  14. data/README.md +174 -0
  15. data/Rakefile +12 -0
  16. data/TODO.md +32 -0
  17. data/bin/console +15 -0
  18. data/bin/setup +8 -0
  19. data/exe/sz +25 -0
  20. data/images/create.png +0 -0
  21. data/images/error.png +0 -0
  22. data/images/home.png +0 -0
  23. data/images/index.png +0 -0
  24. data/images/login.png +0 -0
  25. data/images/mobile.png +0 -0
  26. data/lib/schienenzeppelin.rb +18 -0
  27. data/lib/schienenzeppelin/app_builder.rb +88 -0
  28. data/lib/schienenzeppelin/app_generator.rb +95 -0
  29. data/lib/schienenzeppelin/helper_base.rb +28 -0
  30. data/lib/schienenzeppelin/helpers/annotate.rb +11 -0
  31. data/lib/schienenzeppelin/helpers/capistrano.rb +35 -0
  32. data/lib/schienenzeppelin/helpers/continuous_integration.rb +12 -0
  33. data/lib/schienenzeppelin/helpers/credentials.rb +49 -0
  34. data/lib/schienenzeppelin/helpers/devise.rb +45 -0
  35. data/lib/schienenzeppelin/helpers/errors.rb +67 -0
  36. data/lib/schienenzeppelin/helpers/factory_bot.rb +13 -0
  37. data/lib/schienenzeppelin/helpers/generators.rb +26 -0
  38. data/lib/schienenzeppelin/helpers/high_voltage.rb +11 -0
  39. data/lib/schienenzeppelin/helpers/home.rb +17 -0
  40. data/lib/schienenzeppelin/helpers/hotwire.rb +11 -0
  41. data/lib/schienenzeppelin/helpers/pundit.rb +12 -0
  42. data/lib/schienenzeppelin/helpers/rspec.rb +13 -0
  43. data/lib/schienenzeppelin/helpers/rubocop.rb +11 -0
  44. data/lib/schienenzeppelin/helpers/scaffold.rb +11 -0
  45. data/lib/schienenzeppelin/helpers/services.rb +11 -0
  46. data/lib/schienenzeppelin/helpers/sidekiq.rb +13 -0
  47. data/lib/schienenzeppelin/helpers/stimulus.rb +11 -0
  48. data/lib/schienenzeppelin/helpers/stimulus_components.rb +29 -0
  49. data/lib/schienenzeppelin/helpers/tailwind.rb +18 -0
  50. data/lib/schienenzeppelin/version.rb +7 -0
  51. data/schienenzeppelin.gemspec +37 -0
  52. data/schienenzeppelin.jpg +0 -0
  53. data/script.md +104 -0
  54. data/templates/.dockerignore.erb +51 -0
  55. data/templates/.entrypoint.sh.erb +16 -0
  56. data/templates/.env.development.erb +3 -0
  57. data/templates/.foreman.erb +1 -0
  58. data/templates/.github/workflows/build.yml.erb +49 -0
  59. data/templates/.gitignore.erb +285 -0
  60. data/templates/.irbrc.erb +12 -0
  61. data/templates/.rubocop.yml.erb +37 -0
  62. data/templates/.tool-versions.erb +1 -0
  63. data/templates/Capfile.erb +24 -0
  64. data/templates/Dockerfile.erb +45 -0
  65. data/templates/Gemfile.erb +122 -0
  66. data/templates/Procfile.dev.erb +6 -0
  67. data/templates/Procfile.erb +2 -0
  68. data/templates/README.md.erb +43 -0
  69. data/templates/app/controllers/authorized_controller.rb.erb +10 -0
  70. data/templates/app/controllers/errors_controller.rb.erb +24 -0
  71. data/templates/app/javascript/images/checkmark.svg +1 -0
  72. data/templates/app/javascript/images/logo.svg +1 -0
  73. data/templates/app/javascript/stylesheets/components.scss +206 -0
  74. data/templates/app/policies/application_policy.rb +55 -0
  75. data/templates/app/services/application_service.rb +14 -0
  76. data/templates/app/views/devise/confirmations/new.html.erb +24 -0
  77. data/templates/app/views/devise/passwords/edit.html.erb +34 -0
  78. data/templates/app/views/devise/passwords/new.html.erb +23 -0
  79. data/templates/app/views/devise/registrations/edit.html.erb +62 -0
  80. data/templates/app/views/devise/registrations/new.html.erb +45 -0
  81. data/templates/app/views/devise/sessions/new.html.erb +33 -0
  82. data/templates/app/views/devise/shared/_error_messages.html.erb +15 -0
  83. data/templates/app/views/devise/shared/_form_wrap.html.erb +5 -0
  84. data/templates/app/views/devise/shared/_links.html.erb +25 -0
  85. data/templates/app/views/devise/unlocks/new.html.erb +22 -0
  86. data/templates/app/views/errors/internal_error.html.erb +14 -0
  87. data/templates/app/views/errors/not_found.html.erb +14 -0
  88. data/templates/app/views/errors/unacceptable.html.erb +14 -0
  89. data/templates/app/views/layouts/application.html.erb.tt +30 -0
  90. data/templates/app/views/pages/home.html.erb.tt +20 -0
  91. data/templates/app/views/shared/_flashes.html.erb.tt +12 -0
  92. data/templates/app/views/shared/_footer.html.erb.tt +21 -0
  93. data/templates/app/views/shared/_navbar.html.erb.tt +40 -0
  94. data/templates/bin/setup.erb +146 -0
  95. data/templates/config/credentials.yml.erb +7 -0
  96. data/templates/config/initializers/high_voltage.rb +6 -0
  97. data/templates/config/initializers/lograge.rb +5 -0
  98. data/templates/config/initializers/sidekiq.rb +10 -0
  99. data/templates/config/postgresql.yml.erb +23 -0
  100. data/templates/docker-compose.yml.erb +21 -0
  101. data/templates/lib/capistrano/tasks/seeds.rake +12 -0
  102. data/templates/lib/capistrano/tasks/sidekiq.rake +36 -0
  103. data/templates/lib/generators/rails/navigation/USAGE +6 -0
  104. data/templates/lib/generators/rails/navigation/navigation_generator.rb +15 -0
  105. data/templates/lib/generators/rails/scaffold_controller_generator.rb +12 -0
  106. data/templates/lib/tasks/auto_annotate_models.rake +58 -0
  107. data/templates/lib/templates/erb/scaffold/_form.html.erb +39 -0
  108. data/templates/lib/templates/erb/scaffold/edit.html.erb +7 -0
  109. data/templates/lib/templates/erb/scaffold/index.html.erb +34 -0
  110. data/templates/lib/templates/erb/scaffold/new.html.erb +7 -0
  111. data/templates/lib/templates/erb/scaffold/show.html.erb +18 -0
  112. data/templates/public/500.html.erb +26 -0
  113. data/templates/spec/rails_helper.rb +26 -0
  114. data/templates/spec/spec_helper.rb +61 -0
  115. data/templates/spec/support/factory_bot.rb +5 -0
  116. data/templates/spec/support/shoulda_matchers.rb +8 -0
  117. metadata +179 -0
@@ -0,0 +1,39 @@
1
+ <%%= form_with(model: <%= model_resource_name %>) do |form| %>
2
+ <%% if <%= singular_table_name %>.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%%= pluralize(<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
5
+
6
+ <ul>
7
+ <%% <%= singular_table_name %>.errors.each do |error| %>
8
+ <li><%%= error.full_message %></li>
9
+ <%% end %>
10
+ </ul>
11
+ </div>
12
+ <%% end %>
13
+
14
+ <% attributes.each do |attribute| -%>
15
+ <div class="mb-6">
16
+ <% if attribute.password_digest? -%>
17
+ <%%= form.label :password, class: "label" %>
18
+ <%%= form.password_field :password, class: "input" %>
19
+ </div>
20
+ <div class="mb-6">
21
+ <%%= form.label :password_confirmation, class: "label" %>
22
+ <%%= form.password_field :password_confirmation, class: "input" %>
23
+ <% else %>
24
+ <%%= form.label :<%= attribute.column_name %>, class: "label" %>
25
+ <%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, class: "input" %>
26
+ <% end %>
27
+ </div>
28
+
29
+ <% end -%>
30
+ <div class="mt-2 flex justify-between items-center">
31
+ <%%= link_to 'Back', <%= index_helper %>_path, class: "btn btn-default" %>
32
+ <div class="flex">
33
+ <%%= form.button class: "btn btn-default" %>
34
+ <%% if form.object.persisted? %>
35
+ <%%= link_to 'Delete', form.object, class: "btn btn-default", method: :delete, data: { remote: true, confirm: "Are you sure?" }, class: "btn btn-warn" %>
36
+ <%% end %>
37
+ </div>
38
+ </div>
39
+ <%% end %>
@@ -0,0 +1,7 @@
1
+ <div class="container mx-auto my-8 px-4">
2
+ <h1 class="text-4xl">Editing <%= plural_table_name.titleize %></h1>
3
+
4
+ <div class="bg-white rounded shadow p-4">
5
+ <%%= render 'form', <%= singular_table_name %>: @<%= singular_table_name %> %>
6
+ </div>
7
+ </div>
@@ -0,0 +1,34 @@
1
+ <div class="container mx-auto my-8 px-4">
2
+ <h1 class="text-4xl mb-2"><%= plural_table_name.titleize %></h1>
3
+ <%% if @<%= plural_table_name %>.exists? %>
4
+ <div class="bg-white rounded shadow p-3">
5
+ <table class="w-full">
6
+ <thead>
7
+ <tr>
8
+ <% attributes.reject(&:password_digest?).each do |attribute| -%>
9
+ <th class="p-3 uppercase text-left text-xs text-gray-700"><%= attribute.human_name %></th>
10
+ <% end -%>
11
+ <th class="p-3 uppercase text-left text-xs text-gray-700">Actions</th>
12
+ </tr>
13
+ </thead>
14
+ <tbody>
15
+ <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
16
+ <tr class="group border-t border-gray-400 hover:bg-gray-100">
17
+ <% attributes.reject(&:password_digest?).each do |attribute| -%>
18
+ <td class="p-3"><%%= <%= singular_table_name %>.<%= attribute.column_name %> %></td>
19
+ <% end -%>
20
+ <td>
21
+ <%%= link_to "View", <%= singular_table_name %>, class: "btn btn-default" %>
22
+ <%%= link_to "Edit", edit_<%= singular_table_name %>_path(<%= singular_table_name %>), class: "btn
23
+ btn-default" %>
24
+ </td>
25
+ </tr>
26
+ <%% end %>
27
+ </tbody>
28
+ </table>
29
+ </div>
30
+ <%% end %>
31
+ <div class="mt-4">
32
+ <%%= link_to 'New <%= singular_table_name.titleize %>', new_<%= singular_route_name %>_path, class: "btn btn-default" %>
33
+ </div>
34
+ </div>
@@ -0,0 +1,7 @@
1
+ <div class="container mx-auto my-8 px-4">
2
+ <h1 class="text-4xl">New <%= plural_table_name.titleize %></h1>
3
+
4
+ <div class="bg-white rounded shadow p-4">
5
+ <%%= render 'form', <%= singular_table_name %>: @<%= singular_table_name %> %>
6
+ </div>
7
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="container mx-auto my-8 px-4">
2
+ <h1 class="text-4xl"><%= plural_table_name.titleize %></h1>
3
+
4
+ <div class="bg-white rounded shadow p-4">
5
+ <% attributes.reject(&:password_digest?).each do |attribute| -%>
6
+ <p class="text-lg font-semibold"><%= attribute.human_name %>:</p>
7
+ <p class="leading-normal"><%%= @<%= singular_table_name %>.<%= attribute.name %> %></p>
8
+ <% end -%>
9
+ <div class="flex items-center justify-between mt-4">
10
+ <%%= link_to 'Back', <%= index_helper %>_path, class: "btn btn-default" %>
11
+ <div>
12
+ <%%= link_to 'Edit', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>), class: "btn btn-default" %>
13
+ <%%= link_to 'Destroy', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>), class: "btn btn-warn" %>
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+ </div>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
7
+
8
+ <body class="flex flex-col min-h-screen">
9
+ <main class="flex-grow">
10
+ <div class="container mx-auto px-4">
11
+ <section class="py-8 px-4 text-center">
12
+ <div class="max-w-auto mx-auto">
13
+ <div class="md:max-w-lg mx-auto flex justify-center">
14
+ <svg class="fill-current text-gray-300 h-48" viewBox="0 0 445 202" xmlns="http://www.w3.org/2000/svg">
15
+ <path d="M38.804 144.71c1.527 8.356 4.447 14.803 8.76 19.34 4.312 4.537 10.601 6.805 18.867 6.805 9.523 0 16.778-3.346 21.764-10.04 4.987-6.693 7.48-15.116 7.48-25.268 0-9.973-2.336-18.396-7.008-25.269-4.672-6.873-11.95-10.31-21.832-10.31-4.672 0-8.715.585-12.129 1.753-6.02 2.156-10.557 6.154-13.611 11.994l-34.5-1.617L20.34 4.15h107.678v32.614H48.103l-7.008 42.72c5.93-3.863 10.556-6.423 13.88-7.681 5.57-2.067 12.354-3.1 20.35-3.1 16.172 0 30.277 5.436 42.317 16.307 12.039 10.87 18.058 26.683 18.058 47.437 0 18.059-5.795 34.186-17.385 48.381-11.59 14.196-28.93 21.293-52.02 21.293-18.597 0-33.87-4.986-45.82-14.959C8.527 177.19 1.879 163.04.53 144.711h38.274zm155.789-43.528c0 22.46 1.842 39.643 5.525 51.547 3.684 11.905 11.23 17.857 22.64 17.857 11.411 0 18.89-5.952 22.44-17.857 3.548-11.904 5.323-29.086 5.323-51.547 0-23.54-1.775-40.97-5.324-52.29s-11.028-16.98-22.438-16.98c-11.41 0-18.957 5.66-22.64 16.98-3.684 11.32-5.526 28.75-5.526 52.29zM222.759.242c24.887 0 42.339 8.76 52.356 26.28 10.018 17.52 15.027 42.406 15.027 74.66s-5.01 57.095-15.027 74.525c-10.017 17.43-27.47 26.145-52.356 26.145-24.887 0-42.339-8.715-52.357-26.145-10.017-17.43-15.026-42.271-15.026-74.525 0-32.254 5.009-57.14 15.026-74.66C180.42 9.001 197.872.241 222.76.241zm125.332 100.94c0 22.46 1.842 39.643 5.525 51.547 3.684 11.905 11.23 17.857 22.64 17.857 11.411 0 18.89-5.952 22.44-17.857 3.548-11.904 5.323-29.086 5.323-51.547 0-23.54-1.775-40.97-5.324-52.29s-11.028-16.98-22.438-16.98c-11.41 0-18.957 5.66-22.64 16.98-3.684 11.32-5.526 28.75-5.526 52.29zM376.257.242c24.887 0 42.339 8.76 52.356 26.28 10.018 17.52 15.027 42.406 15.027 74.66s-5.01 57.095-15.027 74.525c-10.017 17.43-27.47 26.145-52.356 26.145-24.887 0-42.339-8.715-52.357-26.145-10.017-17.43-15.026-42.271-15.026-74.525 0-32.254 5.009-57.14 15.026-74.66C333.918 9.001 351.37.241 376.257.241z" fill-rule="nonzero"/>
16
+ </svg>
17
+ </div>
18
+ <h2 class="mt-8 uppercase text-xl lg:text-5xl font-black">Something went terribly wrong</h2>
19
+ <p class="mt-6 text-sm lg:text-base text-gray-900">If you are the application owner check the logs for more
20
+ information.</p>
21
+ </div>
22
+ </section>
23
+ </div>
24
+ </main>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+ ENV['RAILS_ENV'] ||= 'test'
5
+ require File.expand_path('../config/environment', __dir__)
6
+ # Prevent database truncation if the environment is production
7
+ abort('The Rails environment is running in production mode!') if Rails.env.production?
8
+ require 'rspec/rails'
9
+
10
+ Dir[Rails.root.join('spec', 'support', '**', '*.rb')].sort.each { |f| require f }
11
+
12
+ # Checks for pending migrations and applies them before tests are run.
13
+ # If you are not using ActiveRecord, you can remove these lines.
14
+ begin
15
+ ActiveRecord::Migration.maintain_test_schema!
16
+ rescue ActiveRecord::PendingMigrationError => e
17
+ puts e.to_s.strip
18
+ exit 1
19
+ end
20
+ RSpec.configure do |config|
21
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
22
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
23
+ config.use_transactional_fixtures = true
24
+ config.infer_spec_type_from_file_location!
25
+ config.filter_rails_from_backtrace!
26
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.expect_with :rspec do |expectations|
5
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
6
+ end
7
+
8
+ config.mock_with :rspec do |mocks|
9
+ mocks.verify_partial_doubles = true
10
+ end
11
+
12
+ config.shared_context_metadata_behavior = :apply_to_host_groups
13
+
14
+ # The settings below are suggested to provide a good initial experience
15
+ # with RSpec, but feel free to customize to your heart's content.
16
+ # This allows you to limit a spec run to individual examples or groups
17
+ # you care about by tagging them with `:focus` metadata. When nothing
18
+ # is tagged with `:focus`, all examples get run. RSpec also provides
19
+ # aliases for `it`, `describe`, and `context` that include `:focus`
20
+ # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
21
+ config.filter_run_when_matching :focus
22
+
23
+ # Allows RSpec to persist some state between runs in order to support
24
+ # the `--only-failures` and `--next-failure` CLI options. We recommend
25
+ # you configure your source control system to ignore this file.
26
+ config.example_status_persistence_file_path = 'spec/examples.txt'
27
+
28
+ # Limits the available syntax to the non-monkey patched syntax that is
29
+ # recommended. For more details, see:
30
+ # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
31
+ # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
32
+ # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
33
+ config.disable_monkey_patching!
34
+
35
+ # Many RSpec users commonly either run the entire suite or an individual
36
+ # file, and it's useful to allow more verbose output when running an
37
+ # individual spec file.
38
+ if config.files_to_run.one?
39
+ # Use the documentation formatter for detailed output,
40
+ # unless a formatter has already been configured
41
+ # (e.g. via a command-line flag).
42
+ config.default_formatter = 'doc'
43
+ end
44
+
45
+ # Print the 10 slowest examples and example groups at the
46
+ # end of the spec run, to help surface which specs are running
47
+ # particularly slow.
48
+ config.profile_examples = 10
49
+
50
+ # Run specs in random order to surface order dependencies. If you find an
51
+ # order dependency and want to debug it, you can fix the order by providing
52
+ # the seed, which is printed after each run.
53
+ # --seed 1234
54
+ config.order = :random
55
+
56
+ # Seed global randomization in this process using the `--seed` CLI option.
57
+ # Setting this allows you to use `--seed` to deterministically reproduce
58
+ # test failures related to randomization by passing the same `--seed` value
59
+ # as the one that triggered the failure.
60
+ Kernel.srand config.seed
61
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.include FactoryBot::Syntax::Methods
5
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ Shoulda::Matchers.configure do |config|
4
+ config.integrate do |with|
5
+ with.test_framework :rspec
6
+ with.library :rails
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,179 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: schienenzeppelin
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Hans-Jörg Schnedlitz
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-02-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 6.1.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 6.1.2
27
+ description: |
28
+ Schienenzeppelin is the Ruby on Rails app generator to get you started quickly. Includes TailwindCSS,
29
+ Devise, Capistrano and much more.
30
+ email:
31
+ - hans.schnedlitz@gmail.com
32
+ executables:
33
+ - sz
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - ".github/workflows/main.yml"
38
+ - ".github/workflows/outdated.yml"
39
+ - ".gitignore"
40
+ - ".rspec"
41
+ - ".rspec_status"
42
+ - ".rubocop.yml"
43
+ - ".tool-versions"
44
+ - CODE_OF_CONDUCT.md
45
+ - GALLERY.md
46
+ - Gemfile
47
+ - Gemfile.lock
48
+ - LICENSE
49
+ - LICENSE.txt
50
+ - README.md
51
+ - Rakefile
52
+ - TODO.md
53
+ - bin/console
54
+ - bin/setup
55
+ - exe/sz
56
+ - images/create.png
57
+ - images/error.png
58
+ - images/home.png
59
+ - images/index.png
60
+ - images/login.png
61
+ - images/mobile.png
62
+ - lib/schienenzeppelin.rb
63
+ - lib/schienenzeppelin/app_builder.rb
64
+ - lib/schienenzeppelin/app_generator.rb
65
+ - lib/schienenzeppelin/helper_base.rb
66
+ - lib/schienenzeppelin/helpers/annotate.rb
67
+ - lib/schienenzeppelin/helpers/capistrano.rb
68
+ - lib/schienenzeppelin/helpers/continuous_integration.rb
69
+ - lib/schienenzeppelin/helpers/credentials.rb
70
+ - lib/schienenzeppelin/helpers/devise.rb
71
+ - lib/schienenzeppelin/helpers/errors.rb
72
+ - lib/schienenzeppelin/helpers/factory_bot.rb
73
+ - lib/schienenzeppelin/helpers/generators.rb
74
+ - lib/schienenzeppelin/helpers/high_voltage.rb
75
+ - lib/schienenzeppelin/helpers/home.rb
76
+ - lib/schienenzeppelin/helpers/hotwire.rb
77
+ - lib/schienenzeppelin/helpers/pundit.rb
78
+ - lib/schienenzeppelin/helpers/rspec.rb
79
+ - lib/schienenzeppelin/helpers/rubocop.rb
80
+ - lib/schienenzeppelin/helpers/scaffold.rb
81
+ - lib/schienenzeppelin/helpers/services.rb
82
+ - lib/schienenzeppelin/helpers/sidekiq.rb
83
+ - lib/schienenzeppelin/helpers/stimulus.rb
84
+ - lib/schienenzeppelin/helpers/stimulus_components.rb
85
+ - lib/schienenzeppelin/helpers/tailwind.rb
86
+ - lib/schienenzeppelin/version.rb
87
+ - schienenzeppelin.gemspec
88
+ - schienenzeppelin.jpg
89
+ - script.md
90
+ - templates/.dockerignore.erb
91
+ - templates/.entrypoint.sh.erb
92
+ - templates/.env.development.erb
93
+ - templates/.foreman.erb
94
+ - templates/.github/workflows/build.yml.erb
95
+ - templates/.gitignore.erb
96
+ - templates/.irbrc.erb
97
+ - templates/.rubocop.yml.erb
98
+ - templates/.tool-versions.erb
99
+ - templates/Capfile.erb
100
+ - templates/Dockerfile.erb
101
+ - templates/Gemfile.erb
102
+ - templates/Procfile.dev.erb
103
+ - templates/Procfile.erb
104
+ - templates/README.md.erb
105
+ - templates/app/controllers/authorized_controller.rb.erb
106
+ - templates/app/controllers/errors_controller.rb.erb
107
+ - templates/app/javascript/images/checkmark.svg
108
+ - templates/app/javascript/images/logo.svg
109
+ - templates/app/javascript/stylesheets/components.scss
110
+ - templates/app/policies/application_policy.rb
111
+ - templates/app/services/application_service.rb
112
+ - templates/app/views/devise/confirmations/new.html.erb
113
+ - templates/app/views/devise/passwords/edit.html.erb
114
+ - templates/app/views/devise/passwords/new.html.erb
115
+ - templates/app/views/devise/registrations/edit.html.erb
116
+ - templates/app/views/devise/registrations/new.html.erb
117
+ - templates/app/views/devise/sessions/new.html.erb
118
+ - templates/app/views/devise/shared/_error_messages.html.erb
119
+ - templates/app/views/devise/shared/_form_wrap.html.erb
120
+ - templates/app/views/devise/shared/_links.html.erb
121
+ - templates/app/views/devise/unlocks/new.html.erb
122
+ - templates/app/views/errors/internal_error.html.erb
123
+ - templates/app/views/errors/not_found.html.erb
124
+ - templates/app/views/errors/unacceptable.html.erb
125
+ - templates/app/views/layouts/application.html.erb.tt
126
+ - templates/app/views/pages/home.html.erb.tt
127
+ - templates/app/views/shared/_flashes.html.erb.tt
128
+ - templates/app/views/shared/_footer.html.erb.tt
129
+ - templates/app/views/shared/_navbar.html.erb.tt
130
+ - templates/bin/setup.erb
131
+ - templates/config/credentials.yml.erb
132
+ - templates/config/initializers/high_voltage.rb
133
+ - templates/config/initializers/lograge.rb
134
+ - templates/config/initializers/sidekiq.rb
135
+ - templates/config/postgresql.yml.erb
136
+ - templates/docker-compose.yml.erb
137
+ - templates/lib/capistrano/tasks/seeds.rake
138
+ - templates/lib/capistrano/tasks/sidekiq.rake
139
+ - templates/lib/generators/rails/navigation/USAGE
140
+ - templates/lib/generators/rails/navigation/navigation_generator.rb
141
+ - templates/lib/generators/rails/scaffold_controller_generator.rb
142
+ - templates/lib/tasks/auto_annotate_models.rake
143
+ - templates/lib/templates/erb/scaffold/_form.html.erb
144
+ - templates/lib/templates/erb/scaffold/edit.html.erb
145
+ - templates/lib/templates/erb/scaffold/index.html.erb
146
+ - templates/lib/templates/erb/scaffold/new.html.erb
147
+ - templates/lib/templates/erb/scaffold/show.html.erb
148
+ - templates/public/500.html.erb
149
+ - templates/spec/rails_helper.rb
150
+ - templates/spec/spec_helper.rb
151
+ - templates/spec/support/factory_bot.rb
152
+ - templates/spec/support/shoulda_matchers.rb
153
+ homepage: https://github.com/hschne/schienenzeppelin
154
+ licenses:
155
+ - MIT
156
+ metadata:
157
+ homepage_uri: https://github.com/hschne/schienenzeppelin
158
+ source_code_uri: https://github.com/hschne/schienenzeppelin
159
+ changelog_uri: https://github.com/hschne/schienenzeppelin/CHANGELOG.md
160
+ post_install_message:
161
+ rdoc_options: []
162
+ require_paths:
163
+ - lib
164
+ required_ruby_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 3.0.0
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ requirements: []
175
+ rubygems_version: 3.0.3
176
+ signing_key:
177
+ specification_version: 4
178
+ summary: The Rails app generator that gets you started quickly
179
+ test_files: []