schienenzeppelin 0.1

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 (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,20 @@
1
+ <div class="py-20 bg-gray-100">
2
+ <div class="container mx-auto px-6">
3
+ <h2 class="text-6xl font-bold mb-2">
4
+ <%= camelized %>
5
+ </h2>
6
+ <h3 class="text-2xl mb-8 text-gray-800">
7
+ Created with <a class="underline" href="https://github.com/hschne/schienenzeppelin">Schienenzeppelin</a>
8
+ </h3>
9
+ <button class="btn btn-blue">
10
+ View Documentation
11
+ </button>
12
+ </div>
13
+ </div>
14
+
15
+ <section class="container mx-auto px-6 p-10 text-center">
16
+ <h2 class="text-2xl font-bold text-gray-800 mb-2">Ready to do some magic?</h2>
17
+ <p>Edit this page in <code class="bg-gray-100">app/views/pages/home.html.erb</code></p>
18
+ </section>
19
+
20
+
@@ -0,0 +1,12 @@
1
+ <%% flash.each do |type, message| %>
2
+ <%% if type == "alert" %>
3
+ <div class="bg-red-500">
4
+ <div class="container px-2 py-4 mx-auto font-sans font-medium text-center text-white"><%%= message %></div>
5
+ </div>
6
+ <%% end %>
7
+ <%% if type == "notice" %>
8
+ <div class="bg-green-500">
9
+ <div class="container px-2 py-4 mx-auto font-sans font-medium text-center text-white"><%%= message %></div>
10
+ </div>
11
+ <%% end %>
12
+ <%% end %>
@@ -0,0 +1,21 @@
1
+ <footer class="bg-gray-100">
2
+ <div class="container mx-auto px-8">
3
+
4
+ <div class="w-full flex py-6 justify-between">
5
+ <div class="flex align-middle">
6
+ © <%%= Date.current.year %> <%= app_name.capitalize %>
7
+ </div>
8
+ <div class="flex w-1/3 justify-end">
9
+ <ul class="list-reset w-full flex justify-around align-middle items-center mb-6">
10
+ <li class="mt-2 mr-2 md:mr-0">
11
+ <a href="#" class="no-underline hover:underline">About</a>
12
+ </li>
13
+ <li class="mt-2 mr-2 md:mr-0">
14
+ <a href="#" class="no-underline hover:underline">Contact</a>
15
+ </li>
16
+ </ul>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </footer>
21
+
@@ -0,0 +1,40 @@
1
+ <header class="shadow">
2
+ <nav
3
+ data-controller="dropdown"
4
+ class="container mx-auto flex flex-wrap justify-between items-center p-5">
5
+ <div>
6
+ <a
7
+ class="flex items-center mr-2"
8
+ href="<%%= root_path %>">
9
+ <%%= inline_svg_pack_tag('media/images/logo.svg', class: "rounded mx-2", size: "3rem * 3rem") %>
10
+ <p class="font-bold text-lg"><%= app_name.capitalize %> </p>
11
+ </a>
12
+ </div>
13
+ <div class="flex md:hidden">
14
+ <button data-action="click->dropdown#toggle click@window->dropdown#hide"
15
+ class="px-3 py-2 border border-gray-500 rounded text-grey hover:text-gray-600 hover:border-gray-600"
16
+ >
17
+ <svg class="w-3 h-3 fill-current" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
18
+ <title>Menu</title>
19
+ <path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z"/>
20
+ </svg>
21
+ </button>
22
+ </div>
23
+ <div
24
+ data-dropdown-target="menu"
25
+ class="hidden md:flex-grow md:flex w-full md:w-auto text-right md:text-left text-bold mt-5 md:mt-0 border-t-2 border-gray-200 md:border-none">
26
+ <div class="justify-start flex-grow">
27
+ <!-- SZ Link Placeholder -->
28
+ </div>
29
+ <ul class="w-full flex-col md:flex md:flex-row items-center justify-end md:w-auto">
30
+ <%% if user_signed_in? %>
31
+ <li><%%= link_to "Edit account", edit_user_registration_path, class: "btn btn-default md:mr-2 my-2 md:my-0 " %></li>
32
+ <li><%%= link_to "Log out", destroy_user_session_path, method: :delete, class: "btn btn-default" %></li>
33
+ <%% else %>
34
+ <li><%%= link_to "Login", new_user_session_path, class: "btn btn-blue md:mr-2 my-2 md:my-0" %></li>
35
+ <li><%%= link_to "Sign Up", new_user_registration_path, class: "btn btn-blue" %></li>
36
+ <%% end %>
37
+ </ul>
38
+ </div>
39
+ </nav>
40
+ </header>
@@ -0,0 +1,146 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ RED='\033[0;31m'
6
+ GREEN='\033[0;32m'
7
+ YELLOW='\033[0;33m'
8
+ NO_COLOR='\033[0m'
9
+ CLEAR_LINE='\r\033[K'
10
+
11
+ LOG_FILE=$(mktemp /tmp/<%= app_name %>-setup-XXXXXX)
12
+
13
+ # Emojis from https://graphemica.com/
14
+ main() {
15
+ progress 1 🔎 "Checking dependencies"
16
+
17
+ if [[ ! $(command -v ruby) ]]; then
18
+ clear
19
+ error "Ruby <%= RUBY_VERSION %> is required but not currently installed"
20
+ exit 101
21
+ fi
22
+
23
+ if [[ ! $(ruby --version) =~ <%= RUBY_VERSION %> ]]; then
24
+ clear
25
+ error "Your version of ruby does not match the required version <%= RUBY_VERSION %>"
26
+ exit 101
27
+ fi
28
+
29
+ if [[ ! $(command -v node) ]]; then
30
+ clear
31
+ error "Node is required but not currently installed"
32
+ exit 101
33
+ fi
34
+
35
+ if [[ ! $(command -v yarn) ]]; then
36
+ clear
37
+ error "Yarn is required but not currently installed"
38
+ exit 101
39
+ fi
40
+
41
+ clear
42
+ progress 2 📦 "Installing bundler"
43
+ gem install bundler 2> "$LOG_FILE" 1> /dev/null
44
+
45
+ clear
46
+ progress 3 💎 "Installing gems"
47
+ bundle install 2> "$LOG_FILE" 1> /dev/null
48
+
49
+ clear
50
+ progress 4 ⏳ "Installing yarn packages"
51
+ yarn 2> "$LOG_FILE" 1> /dev/null
52
+
53
+ clear
54
+ progress 5 🌐 "Checking database"
55
+ <% db_port = { postgresql: 5432, mysql: 3306}[options[:database].to_sym] %>
56
+ if ! is_port_open <%= db_port %>; then
57
+ clear
58
+ error "Database be running under port <%= db_port %> but was not found"
59
+ info "In order to continue the setup you require a running database server"
60
+ exit 101
61
+ fi
62
+
63
+ clear
64
+ progress 6 💾 "Setting up databases"
65
+ rails db:setup 2> "$LOG_FILE" 1> /dev/null
66
+ }
67
+
68
+ libary_exists() {
69
+ local name=$1
70
+ libs=$(ldconfig -p | grep -c "$name")
71
+ [[ "$libs" -ge 1 ]]
72
+ return $?
73
+ }
74
+
75
+ is_port_open() {
76
+ local port=$1
77
+ # Adapted from here: https://www.commandlinefu.com/commands/view/14651/determine-if-a-port-is-open-with-bash
78
+ (: < /dev/tcp/127.0.0.1/"$port") &>/dev/null && return 0 || return 1
79
+ }
80
+
81
+ error() {
82
+ local message=$1
83
+ printf "💀 ${RED} $message${NO_COLOR}\n"
84
+ }
85
+
86
+ warning() {
87
+ local message=$1
88
+ printf "⚠️ ${YELLOW} $message ${NO_COLOR}\n"
89
+ }
90
+
91
+ info() {
92
+ local message=$1
93
+ printf "ℹ️ $message\n"
94
+ }
95
+
96
+ progress() {
97
+ total=6
98
+ step=$1
99
+ icon=$2
100
+ message=$3
101
+ printf "[%s/%s] %s %s" "$step" "$total" "$icon" "$message"
102
+ }
103
+
104
+ clear() {
105
+ printf "${CLEAR_LINE}"
106
+ }
107
+
108
+ on_exit() {
109
+ local exit_code=$?
110
+ clear
111
+ if [[ "$exit_code" -eq 0 ]]; then
112
+ on_success
113
+ elif [[ "$exit_code" -eq 101 ]]; then
114
+ printf "\n❌${RED} Setup failed${NO_COLOR}\n"
115
+ else
116
+ on_error
117
+ fi
118
+ }
119
+
120
+ on_error() {
121
+ local errors
122
+ errors=$(cat "$LOG_FILE")
123
+ rm "$LOG_FILE"
124
+ local colored_errors
125
+ colored_errors=$(printf "${YELLOW}$errors${NO_COLOR}")
126
+ echo
127
+ printf "❌${RED} Setup exited with errors:${NO_COLOR}\n"
128
+ cat <<EOF
129
+ ------
130
+ $colored_errors
131
+ ------
132
+ Setup has failed with errors.
133
+ EOF
134
+ }
135
+
136
+ on_success() {
137
+ printf "\n🎉${GREEN} Setup finished!${NO_COLOR}\n"
138
+ cat <<EOF
139
+ In case you haven't already, check out the Meistertask Backend section in the
140
+ handbook for more information about this project. Happy coding!
141
+ EOF
142
+ }
143
+
144
+ trap on_exit EXIT
145
+
146
+ main "$@"
@@ -0,0 +1,7 @@
1
+ # custom credentials
2
+ # aws:
3
+ # access_key_id: 123
4
+ # secret_access_key: 345
5
+
6
+ # Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
7
+ secret_key_base: <%= SecureRandom.hex(64) %>
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ HighVoltage.configure do |config|
4
+ config.route_drawer = HighVoltage::RouteDrawers::Root
5
+ config.home_page = 'home'
6
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Rails.application.configure do
4
+ config.lograge.enabled = true
5
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ Sidekiq.configure_server do |config|
4
+ # Add additional sidekiq configuration here
5
+
6
+ config.logger.level = Logger::INFO
7
+ # This enables you to use Rails.logger inside a Sidekiq worker
8
+ # See: https://github.com/mperham/sidekiq/issues/1682
9
+ Rails.logger = Sidekiq.logger
10
+ end
@@ -0,0 +1,23 @@
1
+ default: &default
2
+ adapter: postgresql
3
+ encoding: utf8
4
+ host: <%%= ENV['DATABASE_HOST'] %>
5
+ username: <%%= ENV['DATABASE_USERNAME'] %>
6
+ password: <%%= ENV['DATABASE_PASSWORD'] %>
7
+ pool: <%%= Integer(ENV.fetch("DB_POOL", 5)) %>
8
+ reaping_frequency: <%%= Integer(ENV.fetch("DB_REAPING_FREQUENCY", 10)) %>
9
+ timeout: 5000
10
+
11
+ development:
12
+ <<: *default
13
+ database: <%= app_name %>_development
14
+
15
+ test:
16
+ <<: *default
17
+ database: <%= app_name %>_test
18
+
19
+ production:
20
+ <<: *default
21
+ database: <%%= ENV.fetch('DATABASE_NAME','<%= app_name %>_production') %>
22
+ pool: <%%= [Integer(ENV.fetch('MAX_THREADS', 5)), Integer(ENV.fetch("DB_POOL", 5))].max %>
23
+ min_messages: warning
@@ -0,0 +1,21 @@
1
+ version: "3"
2
+ services:
3
+ <%= app_name %>-db:
4
+ image: postgres
5
+ volumes:
6
+ - <%= app_name %>-data:/var/lib/postgresql/data
7
+ ports:
8
+ - 5432:5432
9
+ environment:
10
+ POSTGRES_PASSWORD: <%= app_name %>
11
+ POSTGRES_USER: <%= app_name %>
12
+
13
+ <% unless options[:skip_sidekiq] %>
14
+ <%= app_name %>-redis:
15
+ image: redis
16
+ ports:
17
+ - 6379:6379
18
+ <% end %>
19
+
20
+ volumes:
21
+ <%= app_name %>-data:
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :deploy do
4
+ desc 'Reload the database with seed data'
5
+ task :seeds do
6
+ on roles(:all) do
7
+ within current_path do
8
+ execute :bundle, :exec, 'rails', 'db:seed', 'RAILS_ENV=production'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :sidekiq do
4
+ desc 'Quiet sidekiq (stop fetching new tasks from Redis)'
5
+ task :quiet do
6
+ on roles fetch(:sidekiq_roles) do
7
+ # See: https://github.com/mperham/sidekiq/wiki/Signals#tstp
8
+ execute :systemctl, '--user', 'kill', '-s', 'SIGTSTP', 'sidekiq.service',
9
+ raise_on_non_zero_exit: false
10
+ end
11
+ end
12
+
13
+ desc 'Stop sidekiq (graceful shutdown within timeout, put unfinished tasks back to Redis)'
14
+ task :stop do
15
+ on roles fetch(:sidekiq_roles) do
16
+ # See: https://github.com/mperham/sidekiq/wiki/Signals#tstp
17
+ execute :systemctl, '--user', 'kill', '-s', 'SIGTERM', 'sidekiq.service',
18
+ raise_on_non_zero_exit: false
19
+ end
20
+ end
21
+
22
+ desc 'Start sidekiq'
23
+ task :start do
24
+ on roles fetch(:sidekiq_roles) do
25
+ execute :systemctl, '--user', 'enable', 'sidekiq.service'
26
+ execute :systemctl, '--user', 'start', 'sidekiq.service'
27
+ end
28
+ end
29
+
30
+ desc 'Restart sidekiq'
31
+ task :restart do
32
+ on roles fetch(:sidekiq_roles) do
33
+ execute :systemctl, '--user', 'restart', 'sidekiq.service'
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,6 @@
1
+ Description:
2
+ This adds a link to the specified resource to your home page
3
+
4
+ Example:
5
+ bin/rails generate navigation resource
6
+
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rails
4
+ class NavigationGenerator < Rails::Generators::NamedBase
5
+ def add_link
6
+ append_to_file 'app/views/shared/_navbar.html.erb',
7
+ after: '<!-- SZ Link Placeholder -->' do
8
+ <<-HTML
9
+
10
+ <%= link_to "#{plural_name.capitalize}", #{plural_name}_path, class: "block md:inline-block p-3 border-b-2 border-gray-100 md:border-none" %>
11
+ HTML
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/generators'
4
+ require 'rails/generators/rails/scaffold_controller/scaffold_controller_generator'
5
+
6
+ module Rails
7
+ module Generators
8
+ class ScaffoldControllerGenerator
9
+ hook_for :navigation, type: :boolean, default: true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ if Rails.env.development?
4
+ require 'annotate'
5
+ task set_annotation_options: :environment do
6
+ # You can override any of these by setting an environment variable of the
7
+ # same name.
8
+ Annotate.set_defaults(
9
+ 'active_admin' => 'false',
10
+ 'additional_file_patterns' => [],
11
+ 'routes' => 'false',
12
+ 'models' => 'true',
13
+ 'position_in_routes' => 'before',
14
+ 'position_in_class' => 'before',
15
+ 'position_in_test' => 'before',
16
+ 'position_in_fixture' => 'before',
17
+ 'position_in_factory' => 'before',
18
+ 'position_in_serializer' => 'before',
19
+ 'show_foreign_keys' => 'true',
20
+ 'show_complete_foreign_keys' => 'false',
21
+ 'show_indexes' => 'true',
22
+ 'simple_indexes' => 'false',
23
+ 'model_dir' => 'app/models',
24
+ 'root_dir' => '',
25
+ 'include_version' => 'false',
26
+ 'require' => '',
27
+ 'exclude_tests' => 'true',
28
+ 'exclude_fixtures' => 'true',
29
+ 'exclude_factories' => 'true',
30
+ 'exclude_serializers' => 'true',
31
+ 'exclude_scaffolds' => 'true',
32
+ 'exclude_controllers' => 'true',
33
+ 'exclude_helpers' => 'true',
34
+ 'exclude_sti_subclasses' => 'false',
35
+ 'ignore_model_sub_dir' => 'false',
36
+ 'ignore_columns' => nil,
37
+ 'ignore_routes' => nil,
38
+ 'ignore_unknown_models' => 'false',
39
+ 'hide_limit_column_types' => 'integer,bigint,boolean',
40
+ 'hide_default_column_types' => 'json,jsonb,hstore',
41
+ 'skip_on_db_migrate' => 'false',
42
+ 'format_bare' => 'true',
43
+ 'format_rdoc' => 'false',
44
+ 'format_yard' => 'false',
45
+ 'format_markdown' => 'false',
46
+ 'sort' => 'false',
47
+ 'force' => 'false',
48
+ 'frozen' => 'false',
49
+ 'classified_sort' => 'true',
50
+ 'trace' => 'false',
51
+ 'wrapper_open' => nil,
52
+ 'wrapper_close' => nil,
53
+ 'with_comment' => 'true'
54
+ )
55
+ end
56
+
57
+ Annotate.load_tasks
58
+ end