cookbook 0.1.0

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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +10 -0
  5. data/Gemfile +39 -0
  6. data/Gemfile.lock +367 -0
  7. data/LICENSE.txt +20 -0
  8. data/README.md +105 -0
  9. data/Rakefile +52 -0
  10. data/VERSION +1 -0
  11. data/app/assets/stylesheets/cookbook/application.scss +180 -0
  12. data/app/controllers/concerns/cookbook/params.rb +27 -0
  13. data/app/helpers/cookbook/application_helper.rb +38 -0
  14. data/app/models/cookbook/use.rb +26 -0
  15. data/app/views/cookbook/_fields.html.haml +11 -0
  16. data/app/views/cookbook/_used_in.html.haml +15 -0
  17. data/app/views/cookbook/_uses_of.html.haml +11 -0
  18. data/app/views/cookbook/uses/_fields.html.haml +17 -0
  19. data/bin/rails +16 -0
  20. data/config/initializers/simple_form.rb +180 -0
  21. data/config/locales/simple_form.en.yml +31 -0
  22. data/cookbook.gemspec +249 -0
  23. data/db/migrate/20210909141929_create_uses.cookbook.rb +21 -0
  24. data/lib/cookbook/configuration.rb +28 -0
  25. data/lib/cookbook/engine.rb +34 -0
  26. data/lib/cookbook/extensions/float.rb +10 -0
  27. data/lib/cookbook/mixins/acts_as_use_of.rb +45 -0
  28. data/lib/cookbook/mixins/acts_as_used_in.rb +43 -0
  29. data/lib/cookbook/railtie.rb +6 -0
  30. data/lib/cookbook/version.rb +9 -0
  31. data/lib/cookbook.rb +27 -0
  32. data/lib/tasks/cookbook_tasks.rake +5 -0
  33. data/lib/templates/haml/scaffold/_form.html.haml +12 -0
  34. data/spec/cookbook_spec.rb +9 -0
  35. data/spec/dummy/Rakefile +8 -0
  36. data/spec/dummy/app/assets/config/manifest.js +2 -0
  37. data/spec/dummy/app/assets/images/.keep +0 -0
  38. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  39. data/spec/dummy/app/assets/stylesheets/scaffolds.scss +65 -0
  40. data/spec/dummy/app/channels/application_cable/channel.rb +6 -0
  41. data/spec/dummy/app/channels/application_cable/connection.rb +6 -0
  42. data/spec/dummy/app/controllers/application_controller.rb +4 -0
  43. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  44. data/spec/dummy/app/controllers/how_tos_controller.rb +61 -0
  45. data/spec/dummy/app/controllers/ingredients_controller.rb +60 -0
  46. data/spec/dummy/app/controllers/recipes_controller.rb +61 -0
  47. data/spec/dummy/app/controllers/supplies_controller.rb +60 -0
  48. data/spec/dummy/app/controllers/tools_controller.rb +60 -0
  49. data/spec/dummy/app/javascript/packs/application.js +16 -0
  50. data/spec/dummy/app/jobs/application_job.rb +9 -0
  51. data/spec/dummy/app/mailers/application_mailer.rb +6 -0
  52. data/spec/dummy/app/models/ability.rb +21 -0
  53. data/spec/dummy/app/models/application_record.rb +7 -0
  54. data/spec/dummy/app/models/concerns/.keep +0 -0
  55. data/spec/dummy/app/models/how_to.rb +5 -0
  56. data/spec/dummy/app/models/ingredient.rb +5 -0
  57. data/spec/dummy/app/models/recipe.rb +5 -0
  58. data/spec/dummy/app/models/supply.rb +5 -0
  59. data/spec/dummy/app/models/tool.rb +5 -0
  60. data/spec/dummy/app/models/user.rb +8 -0
  61. data/spec/dummy/app/views/how_tos/_form.html.haml +7 -0
  62. data/spec/dummy/app/views/how_tos/edit.html.haml +7 -0
  63. data/spec/dummy/app/views/how_tos/index.html.haml +25 -0
  64. data/spec/dummy/app/views/how_tos/new.html.haml +5 -0
  65. data/spec/dummy/app/views/how_tos/show.html.haml +17 -0
  66. data/spec/dummy/app/views/ingredients/_form.html.haml +8 -0
  67. data/spec/dummy/app/views/ingredients/edit.html.haml +7 -0
  68. data/spec/dummy/app/views/ingredients/index.html.haml +29 -0
  69. data/spec/dummy/app/views/ingredients/new.html.haml +5 -0
  70. data/spec/dummy/app/views/ingredients/show.html.haml +23 -0
  71. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  72. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  73. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  74. data/spec/dummy/app/views/recipes/_form.html.haml +9 -0
  75. data/spec/dummy/app/views/recipes/edit.html.haml +7 -0
  76. data/spec/dummy/app/views/recipes/index.html.haml +29 -0
  77. data/spec/dummy/app/views/recipes/new.html.haml +5 -0
  78. data/spec/dummy/app/views/recipes/show.html.haml +23 -0
  79. data/spec/dummy/app/views/supplies/_form.html.haml +6 -0
  80. data/spec/dummy/app/views/supplies/edit.html.haml +7 -0
  81. data/spec/dummy/app/views/supplies/index.html.haml +25 -0
  82. data/spec/dummy/app/views/supplies/new.html.haml +5 -0
  83. data/spec/dummy/app/views/supplies/show.html.haml +17 -0
  84. data/spec/dummy/app/views/tools/_form.html.haml +6 -0
  85. data/spec/dummy/app/views/tools/edit.html.haml +7 -0
  86. data/spec/dummy/app/views/tools/index.html.haml +25 -0
  87. data/spec/dummy/app/views/tools/new.html.haml +5 -0
  88. data/spec/dummy/app/views/tools/show.html.haml +17 -0
  89. data/spec/dummy/bin/rails +6 -0
  90. data/spec/dummy/bin/rake +6 -0
  91. data/spec/dummy/bin/setup +35 -0
  92. data/spec/dummy/config/application.rb +28 -0
  93. data/spec/dummy/config/boot.rb +7 -0
  94. data/spec/dummy/config/cable.yml +10 -0
  95. data/spec/dummy/config/database.yml +25 -0
  96. data/spec/dummy/config/environment.rb +7 -0
  97. data/spec/dummy/config/environments/development.rb +80 -0
  98. data/spec/dummy/config/environments/production.rb +122 -0
  99. data/spec/dummy/config/environments/test.rb +61 -0
  100. data/spec/dummy/config/initializers/application_controller_renderer.rb +9 -0
  101. data/spec/dummy/config/initializers/assets.rb +14 -0
  102. data/spec/dummy/config/initializers/backtrace_silencers.rb +10 -0
  103. data/spec/dummy/config/initializers/content_security_policy.rb +29 -0
  104. data/spec/dummy/config/initializers/cookbook.rb +6 -0
  105. data/spec/dummy/config/initializers/cookies_serializer.rb +7 -0
  106. data/spec/dummy/config/initializers/devise.rb +313 -0
  107. data/spec/dummy/config/initializers/filter_parameter_logging.rb +8 -0
  108. data/spec/dummy/config/initializers/inflections.rb +17 -0
  109. data/spec/dummy/config/initializers/json.rb +20 -0
  110. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  111. data/spec/dummy/config/initializers/permissions_policy.rb +12 -0
  112. data/spec/dummy/config/initializers/wrap_parameters.rb +16 -0
  113. data/spec/dummy/config/locales/devise.en.yml +65 -0
  114. data/spec/dummy/config/locales/en.yml +33 -0
  115. data/spec/dummy/config/puma.rb +45 -0
  116. data/spec/dummy/config/routes.rb +13 -0
  117. data/spec/dummy/config/storage.yml +34 -0
  118. data/spec/dummy/config.ru +8 -0
  119. data/spec/dummy/db/development.sqlite3 +0 -0
  120. data/spec/dummy/db/migrate/20210909175711_create_how_tos.rb +16 -0
  121. data/spec/dummy/db/migrate/20210909181442_create_ingredients.rb +16 -0
  122. data/spec/dummy/db/migrate/20210909181455_create_supplies.rb +14 -0
  123. data/spec/dummy/db/migrate/20210909181516_create_tools.rb +14 -0
  124. data/spec/dummy/db/migrate/20210909181533_create_recipes.rb +16 -0
  125. data/spec/dummy/db/migrate/20210909185303_create_uses.cookbook.rb +23 -0
  126. data/spec/dummy/db/migrate/20210910142322_create_users.rb +11 -0
  127. data/spec/dummy/db/migrate/20210910142323_add_devise_to_users.rb +50 -0
  128. data/spec/dummy/db/schema.rb +92 -0
  129. data/spec/dummy/db/seeds.rb +10 -0
  130. data/spec/dummy/db/test.sqlite3 +0 -0
  131. data/spec/dummy/lib/assets/.keep +0 -0
  132. data/spec/dummy/lib/templates/haml/scaffold/_form.html.haml +6 -0
  133. data/spec/dummy/log/.keep +0 -0
  134. data/spec/dummy/log/development.log +6643 -0
  135. data/spec/dummy/log/test.log +25990 -0
  136. data/spec/dummy/public/404.html +67 -0
  137. data/spec/dummy/public/422.html +67 -0
  138. data/spec/dummy/public/500.html +66 -0
  139. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  140. data/spec/dummy/public/apple-touch-icon.png +0 -0
  141. data/spec/dummy/public/favicon.ico +0 -0
  142. data/spec/dummy/storage/.keep +0 -0
  143. data/spec/factories/how_tos.rb +9 -0
  144. data/spec/factories/ingredients.rb +11 -0
  145. data/spec/factories/recipes.rb +11 -0
  146. data/spec/factories/supplies.rb +9 -0
  147. data/spec/factories/tools.rb +9 -0
  148. data/spec/factories/users.rb +9 -0
  149. data/spec/factories/uses.rb +24 -0
  150. data/spec/helpers/cookbook/application_helper_spec.rb +47 -0
  151. data/spec/models/cookbook/use_spec.rb +82 -0
  152. data/spec/models/how_to_spec.rb +18 -0
  153. data/spec/models/ingredient_spec.rb +15 -0
  154. data/spec/models/recipe_spec.rb +18 -0
  155. data/spec/models/supply_spec.rb +15 -0
  156. data/spec/models/tool_spec.rb +15 -0
  157. data/spec/rails_helper.rb +92 -0
  158. data/spec/requests/how_tos_spec.rb +114 -0
  159. data/spec/requests/recipes_spec.rb +116 -0
  160. data/spec/spec_helper.rb +44 -0
  161. metadata +517 -0
@@ -0,0 +1,7 @@
1
+ %h1 Editing ingredient
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @ingredient
6
+ \|
7
+ = link_to 'Back', ingredients_path
@@ -0,0 +1,29 @@
1
+ %h1 Listing ingredients
2
+
3
+ %table
4
+ %thead
5
+ %tr
6
+ %th Name
7
+ %th Description
8
+ %th Aisle
9
+ %th Store
10
+ %th Cost
11
+ %th
12
+ %th
13
+ %th
14
+
15
+ %tbody
16
+ - @ingredients.each do |ingredient|
17
+ %tr
18
+ %td= ingredient.name
19
+ %td= ingredient.description
20
+ %td= ingredient.aisle
21
+ %td= ingredient.store
22
+ %td= ingredient.cost
23
+ %td= link_to 'Show', ingredient
24
+ %td= link_to 'Edit', edit_ingredient_path(ingredient)
25
+ %td= link_to 'Destroy', ingredient, method: :delete, data: { confirm: 'Are you sure?' }
26
+
27
+ %br
28
+
29
+ = link_to 'New Ingredient', new_ingredient_path
@@ -0,0 +1,5 @@
1
+ %h1 New ingredient
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Back', ingredients_path
@@ -0,0 +1,23 @@
1
+ %p#notice= notice
2
+
3
+ %p
4
+ %b Name:
5
+ = @ingredient.name
6
+ %p
7
+ %b Description:
8
+ = @ingredient.description
9
+ %p
10
+ %b Aisle:
11
+ = @ingredient.aisle
12
+ %p
13
+ %b Store:
14
+ = @ingredient.store
15
+ %p
16
+ %b Cost:
17
+ = @ingredient.cost
18
+
19
+ = cookbook_uses_of @ingredient
20
+
21
+ = link_to 'Edit', edit_ingredient_path(@ingredient)
22
+ \|
23
+ = link_to 'Back', ingredients_path
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%= csrf_meta_tags %>
7
+ <%= csp_meta_tag %>
8
+ <%= stylesheet_link_tag 'application', media: 'all' %>
9
+ </head>
10
+ <body>
11
+ <p class="notice"><%= notice %></p>
12
+ <p class="alert"><%= alert %></p>
13
+ <%= yield %>
14
+ </body>
15
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -0,0 +1,9 @@
1
+ -# frozen_string_literal: true
2
+ = simple_form_for(@recipe, url: (@recipe.new_record? ? recipes_path : recipe_path(@recipe.id))) do |f|
3
+ = f.input :name
4
+ = f.input :description
5
+ = f.input :serves
6
+ = f.input :meal
7
+ = f.input :instructions
8
+ = cookbook_fields f
9
+ .actions= f.button :submit, class: 'button-large button-action'
@@ -0,0 +1,7 @@
1
+ %h1 Editing recipe
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @recipe
6
+ \|
7
+ = link_to 'Back', recipes_path
@@ -0,0 +1,29 @@
1
+ %h1 Listing recipes
2
+
3
+ %table
4
+ %thead
5
+ %tr
6
+ %th Name
7
+ %th Description
8
+ %th Serves
9
+ %th Meal
10
+ %th Instructions
11
+ %th
12
+ %th
13
+ %th
14
+
15
+ %tbody
16
+ - @recipes.each do |recipe|
17
+ %tr
18
+ %td= recipe.name
19
+ %td= recipe.description
20
+ %td= recipe.serves
21
+ %td= recipe.meal
22
+ %td= recipe.instructions
23
+ %td= link_to 'Show', recipe
24
+ %td= link_to 'Edit', edit_recipe_path(recipe)
25
+ %td= link_to 'Destroy', recipe, method: :delete, data: { confirm: 'Are you sure?' }
26
+
27
+ %br
28
+
29
+ = link_to 'New Recipe', new_recipe_path
@@ -0,0 +1,5 @@
1
+ %h1 New recipe
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Back', recipes_path
@@ -0,0 +1,23 @@
1
+ %p#notice= notice
2
+
3
+ %p
4
+ %b Name:
5
+ = @recipe.name
6
+ %p
7
+ %b Description:
8
+ = @recipe.description
9
+ %p
10
+ %b Serves:
11
+ = @recipe.serves
12
+ %p
13
+ %b Meal:
14
+ = @recipe.meal
15
+ %p
16
+ %b Instructions:
17
+ = @recipe.instructions
18
+
19
+ = cookbook_used_in @recipe
20
+
21
+ = link_to 'Edit', edit_recipe_path(@recipe)
22
+ \|
23
+ = link_to 'Back', recipes_path
@@ -0,0 +1,6 @@
1
+ -# frozen_string_literal: true
2
+ = simple_form_for(@supply, url: (@supply.new_record? ? supplys_path : supply_path(@supply.id))) do |f|
3
+ = f.input :name
4
+ = f.input :description
5
+ = f.input :source
6
+ .actions= f.button :submit, class: 'button-large button-action'
@@ -0,0 +1,7 @@
1
+ %h1 Editing supply
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @supply
6
+ \|
7
+ = link_to 'Back', supplies_path
@@ -0,0 +1,25 @@
1
+ %h1 Listing supplies
2
+
3
+ %table
4
+ %thead
5
+ %tr
6
+ %th Name
7
+ %th Description
8
+ %th Source
9
+ %th
10
+ %th
11
+ %th
12
+
13
+ %tbody
14
+ - @supplies.each do |supply|
15
+ %tr
16
+ %td= supply.name
17
+ %td= supply.description
18
+ %td= supply.source
19
+ %td= link_to 'Show', supply
20
+ %td= link_to 'Edit', edit_supply_path(supply)
21
+ %td= link_to 'Destroy', supply, method: :delete, data: { confirm: 'Are you sure?' }
22
+
23
+ %br
24
+
25
+ = link_to 'New Supply', new_supply_path
@@ -0,0 +1,5 @@
1
+ %h1 New supply
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Back', supplies_path
@@ -0,0 +1,17 @@
1
+ %p#notice= notice
2
+
3
+ %p
4
+ %b Name:
5
+ = @supply.name
6
+ %p
7
+ %b Description:
8
+ = @supply.description
9
+ %p
10
+ %b Source:
11
+ = @supply.source
12
+
13
+ = cookbook_uses_of @supply
14
+
15
+ = link_to 'Edit', edit_supply_path(@supply)
16
+ \|
17
+ = link_to 'Back', supplies_path
@@ -0,0 +1,6 @@
1
+ -# frozen_string_literal: true
2
+ = simple_form_for(@tool, url: (@tool.new_record? ? tools_path : tool_path(@tool.id))) do |f|
3
+ = f.input :name
4
+ = f.input :description
5
+ = f.input :composition
6
+ .actions= f.button :submit, class: 'button-large button-action'
@@ -0,0 +1,7 @@
1
+ %h1 Editing tool
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @tool
6
+ \|
7
+ = link_to 'Back', tools_path
@@ -0,0 +1,25 @@
1
+ %h1 Listing tools
2
+
3
+ %table
4
+ %thead
5
+ %tr
6
+ %th Name
7
+ %th Description
8
+ %th Composition
9
+ %th
10
+ %th
11
+ %th
12
+
13
+ %tbody
14
+ - @tools.each do |tool|
15
+ %tr
16
+ %td= tool.name
17
+ %td= tool.description
18
+ %td= tool.composition
19
+ %td= link_to 'Show', tool
20
+ %td= link_to 'Edit', edit_tool_path(tool)
21
+ %td= link_to 'Destroy', tool, method: :delete, data: { confirm: 'Are you sure?' }
22
+
23
+ %br
24
+
25
+ = link_to 'New Tool', new_tool_path
@@ -0,0 +1,5 @@
1
+ %h1 New tool
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Back', tools_path
@@ -0,0 +1,17 @@
1
+ %p#notice= notice
2
+
3
+ %p
4
+ %b Name:
5
+ = @tool.name
6
+ %p
7
+ %b Description:
8
+ = @tool.description
9
+ %p
10
+ %b Composition:
11
+ = @tool.composition
12
+
13
+ = cookbook_uses_of @tool
14
+
15
+ = link_to 'Edit', edit_tool_path(@tool)
16
+ \|
17
+ = link_to 'Back', tools_path
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ APP_PATH = File.expand_path('../config/application', __dir__)
5
+ require_relative '../config/boot'
6
+ require 'rails/commands'
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../config/boot'
5
+ require 'rake'
6
+ Rake.application.run
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'fileutils'
5
+
6
+ # path to your application root.
7
+ APP_ROOT = File.expand_path('..', __dir__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ FileUtils.chdir APP_ROOT do
14
+ # This script is a way to set up or update your development environment automatically.
15
+ # This script is idempotent, so that you can run it at any time and get an expectable outcome.
16
+ # Add necessary setup steps to this file.
17
+
18
+ puts '== Installing dependencies =='
19
+ system! 'gem install bundler --conservative'
20
+ system('bundle check') || system!('bundle install')
21
+
22
+ # puts "\n== Copying sample files =="
23
+ # unless File.exist?('config/database.yml')
24
+ # FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
25
+ # end
26
+
27
+ puts "\n== Preparing database =="
28
+ system! 'bin/rails db:prepare'
29
+
30
+ puts "\n== Removing old logs and tempfiles =="
31
+ system! 'bin/rails log:clear tmp:clear'
32
+
33
+ puts "\n== Restarting application server =="
34
+ system! 'bin/rails restart'
35
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'boot'
4
+
5
+ require 'rails/all'
6
+
7
+ # Require the gems listed in Gemfile, including any gems
8
+ # you've limited to :test, :development, or :production.
9
+ Bundler.require(*Rails.groups)
10
+ require 'cookbook'
11
+
12
+ module Dummy
13
+ # Our dummy application
14
+ class Application < Rails::Application
15
+ config.load_defaults Rails::VERSION::STRING.to_f
16
+
17
+ # Configuration for the application, engines, and railties goes here.
18
+ #
19
+ # These settings can be overridden in specific environments using the files
20
+ # in config/environments, which are processed later.
21
+ #
22
+ # config.time_zone = "Central Time (US & Canada)"
23
+ # config.eager_load_paths << Rails.root.join("extras")
24
+ config.generators do |g|
25
+ g.test_framework :rspec
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Set up gems listed in the Gemfile.
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
5
+
6
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
7
+ $LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
@@ -0,0 +1,10 @@
1
+ development:
2
+ adapter: async
3
+
4
+ test:
5
+ adapter: test
6
+
7
+ production:
8
+ adapter: redis
9
+ url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
10
+ channel_prefix: dummy_production
@@ -0,0 +1,25 @@
1
+ # SQLite. Versions 3.8.0 and up are supported.
2
+ # gem install sqlite3
3
+ #
4
+ # Ensure the SQLite 3 gem is defined in your Gemfile
5
+ # gem 'sqlite3'
6
+ #
7
+ default: &default
8
+ adapter: sqlite3
9
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
10
+ timeout: 5000
11
+
12
+ development:
13
+ <<: *default
14
+ database: db/development.sqlite3
15
+
16
+ # Warning: The database defined as "test" will be erased and
17
+ # re-generated from your development database when you run "rake".
18
+ # Do not set this db to the same as development or production.
19
+ test:
20
+ <<: *default
21
+ database: db/test.sqlite3
22
+
23
+ production:
24
+ <<: *default
25
+ database: db/production.sqlite3