[User]
Choose the correct option to complete this Amber docs statement (Distinct): ____ can only be at the end of the query chain as it results in a direct database query.
Options:
A) distinct
B) config/
C) bin/myapp
D) join
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section '4. Create and migrate the database', complete this statement: This will create a new database and run the migration to create a ____ table with the specified columns.

[Assistant] The missing term is pets.


[User] Fill in the blank from the Amber framework docs (Full Example:): Set the article's ____ flag to be `false` 1.

[Assistant] archived


[User]
Choose the correct option to complete this Amber docs statement (Tips and Tricks for debugging Crystal applications): ____ does not show data for variables in crystal yet, see issue [\#4457](https://github.com/crystal-lang/crystal/issues/4457) Fully debugging Crystal applications is not supported yet.
Options:
A) with
B) lldb
C) .gitignore
D) StaticController
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (`amber new`): An ____ configuration file is generated a long with the default application directory structure.
Options:
A) .amber.yml
B) .buildpacks
C) handle_leave
D) has_and_belongs_to_many
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Resources): Let’s add a resource to the ____ Then go to the root of your project, and run `amber routes` This will output the standard matrix of HTTP verbs, controller, action, pipeline, scope, and URI pattern.

[Assistant] config/routes.cr


[User] In the Amber docs section 'Distinct', complete this statement: ____ retrieves database column values without repeats.

[Assistant] The missing term is .distinct.


[User] Fill in the blank from the Amber framework docs (6. Printing instance variables): For printing ____ var in this code: You can use `self.foo` in the debugger terminal or VSCode GUI.

[Assistant] @foo


[User]
Choose the correct option to complete this Amber docs statement (Note about Amber Encryption Key): When a new project is created the file ____ is created with a random key.
Options:
A) config/jennifer.cr
B) archived
C) {environment}.enc
D) .encryption_key
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Finding Layouts): If there is no such controller-specific layout, Amber will use ____.
Options:
A) .to_s
B) _menu.html.ecr
C) src/views/layouts/application.html.ecr
D) belongs_to
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Aggregation): ____, `min`, `count`\), and ones working with a GROUP clause and returning an array of values.
Options:
A) max
B) #add_{{relation_name}}
C) <repository>
D) .group
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Finding Layouts): If there is no such controller-specific layout, Amber will use ____.


[User] Fill in the blank from the Amber framework docs (`amber db`): The ____ or `db` command is one of the most common command that you will be operating.

[Assistant] database


[User] Fill in the blank from the Amber framework docs (1. Install dependencies): If you already have ____, `amber`, and a database installed, you can [skip this step](#2.-generate-a-new-amber-application).

[Assistant] crystal


[User] Fill in the blank from the Amber framework docs (The Test Environment): In this case, we can modify our test environment by changing the options found in ____.


[User]
Choose the correct option to complete this Amber docs statement (Subscribe to events / messages): For example, below the subject of ____ is being listened to from within the `chat_room:123` channel.
Options:
A) src/views/layouts/application.html.ecr
B) message_new
C) spec
D) @[NoInline]
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Halt!): When you want a request to cease and return a particular message rather then rendering a page, you use Amber ____ to stop the request from continue execution.

[Assistant] halt!


[User] Fill in the blank from the Amber framework docs (Error Handling): If the ____ argument is provided it will generate the appropriate error help text element(s) next to the field.

[Assistant] :errors


[User] Fill in the blank from the Amber framework docs (docker-compose.yml): It includes the ____, `mailcatcher`, `migrate`, `app`, and `web` containers.

[Assistant] database


[User] Fill in the blank from the Amber framework docs (Aggregation): ____, `min`, `count`\), and ones working with a GROUP clause and returning an array of values.

[Assistant] max


[User]
Choose the correct option to complete this Amber docs statement (Rendering an Action's Template from Another Controller): For example, if you're running code in an AdminPostController that lives in ____, you can render the results of an action to a template in `src/views/admin/products` this way:
Options:
A) spec_helper.cr
B) create
C) src/controllers/admin
D) :status
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (The Flash): Make sure the Flash, Session and CSRF pipelines are enabled in your ____ file and in the order that the scaffolding renders them.

[Assistant] routes.cr


[User] Fill in the blank from the Amber framework docs (File Mode): The changes you make will **not** modify the original source file, but they will be used when `amber exec` runs the code and saved as a ____ file.


[User]
Choose the correct option to complete this Amber docs statement (docker-compose.yml): It includes the ____, `mailcatcher`, `migrate`, `app`, and `web` containers.
Options:
A) database
B) Quartz
C) .css
D) bin/<your-app>
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Introduction): * ____ - Called when a user leaves the channel.

[Assistant] handle_leave


[User] In the Amber docs section 'Create Procfile', complete this statement: To deploy your app to Dokku you're going to need a ____.

[Assistant] The missing term is Procfile.


[User]
Choose the correct option to complete this Amber docs statement (Amber Testing): The first time you generate an Amber application using `amber new your_app_name` a ____ directory is generated.
Options:
A) .delete
B) with
C) spec
D) belongs_to
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'The Heroku Procfile', complete this statement: To deploy your app to heroku you're going to need a ____.

[Assistant] The missing term is Procfile.


[User] Fill in the blank from the Amber framework docs (Rendering an Action's Template from Another Controller): If you want to render a template from an entirely different controller from the one that contains the action code, You can accomplish that with ____, which accepts the full path \(relative to `src/views`\) of the template to render.

[Assistant] render


[User] In the Amber docs section 'Note about Amber Encryption Key', complete this statement: If you need to encrypt or decrypt on another development box or server you will need to manually move ____ or set the value of `ENV[AMBER_ENCRYPTION_KEY]` on that computer.

[Assistant] The missing term is .encryption_key.


[User]
Choose the correct option to complete this Amber docs statement (Add Amber dependency): First you require to add the ____ shard dependency in your `shard.yml` file: Then execute `shards install` :
Options:
A) amber
B) #errors
C) app/views/shared/_menu.html.ecr
D) --deps
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Rendering Content', complete this statement: In most cases, the ____ method does the heavy lifting of rendering your application's content for use by a browser.

[Assistant] The missing term is Controller::Base#render.


[User] Fill in the blank from the Amber framework docs (Hello World): This recipe will help you to setup a `Hello World!` response in your ____ path.

[Assistant] /hello


[User]
Choose the correct option to complete this Amber docs statement (Joins): To join another table you can use ____ method passing model class or table name \(`String`\) and join type \(default is `:inner`\).
Options:
A) exec
B) DB::Rollback
C) join
D) before_save
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Transaction', complete this statement: To rollback a transaction, raise ____ exception.

[Assistant] The missing term is DB::Rollback.


[User]
Choose the correct option to complete this Amber docs statement (Encrypted Environment Settings): This file is added to ____ to avoid inclusion in version control.
Options:
A) :web
B) pets
C) .gitignore
D) src/{project}.cr
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Environments', complete this statement: At runtime the framework will use the ____ environment value to load the respective environment configuration into the application.

[Assistant] The missing term is AMBER_ENV.


[User] In the Amber docs section 'Pick up Env vars', complete this statement: Ensure these settings are in your ____ file.

[Assistant] The missing term is settings.cr.


[User] In the Amber docs section 'Destroy', complete this statement: To destroy an object, use ____ \(called without callback\) or `.destroy`.

[Assistant] The missing term is .delete.


[User] Fill in the blank from the Amber framework docs (Mailers): This library is required by default within ____.

[Assistant] config/mailer.cr


[User]
Choose the correct option to complete this Amber docs statement (1.2 Install a database): Amber works with ____ \(default\), `mysql`, or `sqlite`.
Options:
A) Profile.all
B) src/views/layouts/application.html.ecr
C) destroy
D) postgresql
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Links', complete this statement: A ____ helper is available: Produces the following HTML

[Assistant] The missing term is link_to.


[User] Fill in the blank from the Amber framework docs (Joins): To join another table you can use ____ method passing model class or table name \(`String`\) and join type \(default is `:inner`\).

[Assistant] join


[User]
Choose the correct option to complete this Amber docs statement (5. Printing array variables): To print array items in the debugger: First, setup the debugger with the ____ statement: Then use `print` in the debugging console: Change the buffer index for each item you want to print.
Options:
A) from
B) debugger
C) rebroadcast!
D) csrf_tag
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Set Encryption Key): Ensure you first run: To be able to decrypt and use production environment you'll need to set `ENV["AMBER_ENCRYPTION_KEY"]` to the value of your local projects ____ file.

[Assistant] .encryption_key


[User]
Choose the correct option to complete this Amber docs statement (Distinct): ____ retrieves database column values without repeats.
Options:
A) has_and_belongs_to_many
B) .distinct
C) :errors
D) #valid?
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Introduction): Channels define 3 public methods that can be used: * ____ - Called when a user joins a channel.
Options:
A) channel.push
B) .then
C) handle_joined
D) shards.yml
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Amber Testing): The ____ directory is meant to hold tests for controllers, routes, and views.
Options:
A) Quartz
B) controllers
C) ChatSocket
D) database
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Join a channel): After the promise passes, include the following code in the function from within the ____ that will be triggered.
Options:
A) default
B) handle_joined
C) settings.cr
D) .then
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (What happens when a user leaves?): The ____ method handles this in the channels class.

[Assistant] handle_leave


[User]
Choose the correct option to complete this Amber docs statement (Validation API): ____ Returns an array of errors for the invalid inputs.
Options:
A) archived
B) SMTP_URL
C) #errors
D) /app/local
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Encrypt): The ____ command allows you to encrypt and edit your environment settings.
Options:
A) config/environments/development.yml
B) StaticController
C) encrypt
D) redirect_to
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Add A Jennifer Initializer to Configuration): Note that we pass the ____ to `Jennifer::Config.read` this will allow Jennifer to use the correct database settings for the environment.

[Assistant] AMBER_ENV


[User]
Choose the correct option to complete this Amber docs statement (check out the latest code into the working copy): * ____ is your project with your`.git` folder inside.
Options:
A) .amber.yml
B) <repository>
C) _field_name
D) .first!
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Dockerfile): It starts from the official ____ docker image.
Options:
A) database
B) .buildpacks
C) crystallang/crystal:{version}
D) views/home/index.slang
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Send messages from controllers \(or anywhere else\)): ____ provides a public class method `broadcast` for publishing messages to all subscribers of a topic from within controllers or anywhere else in your application.
Options:
A) api/index
B) Amber::WebSockets::ClientSocket
C) config/routes.cr
D) shard.yml
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Note about Amber Encryption Key): This is added to ____ by default as it should never be added to your repo.
Options:
A) gitignore
B) controllers
C) #add_{{relation_name}}
D) secret_key_base
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Environments): Each Amber project ships with three default environments: * Development * Test * Production The files for each environment are found under ____.

[Assistant] {project_name}/config/environments


[User] Fill in the blank from the Amber framework docs (Callbacks): The available macros for defining callbacks include: * ____ * `after_save` * `before_create` * `after_create` * `after_initialize` * `before_destroy` They accept method names.

[Assistant] before_save


[User]
Choose the correct option to complete this Amber docs statement (Exists): ____ check if there is any record with provided conditions.
Options:
A) config/jennifer.cr
B) gitignore
C) .exists?
D) --deps
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Creating the database', complete this statement: If that isn’t the case, update the ____ key with the correct database credentials for your environment.

[Assistant] The missing term is database_url.


[User] Fill in the blank from the Amber framework docs (Transaction): To rollback a transaction, raise ____ exception.

[Assistant] DB::Rollback


[User] In the Amber docs section 'Hello World', complete this statement: This recipe will help you to setup a `Hello World!` response in your ____ path.

[Assistant] The missing term is /hello.


[User] In the Amber docs section 'Joins', complete this statement: To join another table you can use ____ method passing model class or table name \(`String`\) and join type \(default is `:inner`\).

[Assistant] The missing term is join.


[User]
Choose the correct option to complete this Amber docs statement (Exec): The ____ command allows you to run short pieces of code within the amber application scope.
Options:
A) config/database.yml
B) Amber::WebSockets::ClientSocket
C) AMBER_ENV=staging
D) exec
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Where', complete this statement: You can chain several ____ methods together and they will be concatenated using `AND`.

[Assistant] The missing term is where.


[User] In the Amber docs section 'Defining Routes', complete this statement: For example, let's say you are creating a static website and you want the URL to be displayed as ____.

[Assistant] The missing term is http://www.mycoolsite.com/page.


[User] Fill in the blank from the Amber framework docs (Where): You can chain several ____ methods together and they will be concatenated using `AND`.

[Assistant] where


[User]
Choose the correct option to complete this Amber docs statement (Encrypted Environment Settings): With Amber you can encrypt your environment setting using `amber encrypt {environment}`, this command will open your editor to allow make changes if needed and then encrypt the file ____.
Options:
A) handle_joined
B) {environment}.enc
C) rebroadcast!
D) Amber::WebSockets::ClientSocket
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Scopes (aka. Prepared queries)): The ____ macro allows you to define a Crystal block containing the desired prepared query statement, and creates a class method on the model to execute.

[Assistant] scope


[User]
Choose the correct option to complete this Amber docs statement (Example Usage): Using `amber new microsecond-blog -r damianham/amber_modular` will generate a skeleton Amber application in ____ using the _amber_modular_ recipe that was provided by the GitHub user _damianham_.
Options:
A) ./microsecond-blog
B) pluck
C) .amber.yml
D) csrf_tag
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (The `mailcatcher` container): If you generate mailers, it will configure the ____ to point to the mail catcher container.
Options:
A) handle_joined
B) src/views/layouts
C) namespace
D) SMTP_URL
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Editing Encrypted Files): The command`amber encrypt production` will use the secret key in .____ or `ENV[AMBER_ENCRYPTION_KEY]` to decrypt `config/environments/.production.enc` and open it in your favorite editor.

[Assistant] encryption_key


[User] In the Amber docs section 'Resources', complete this statement: The ____ macro is a quick way to setup up resourceful routing for all seven standard actions for a controller in a single line.

[Assistant] The missing term is resources.


[User] Fill in the blank from the Amber framework docs (4. Printing strings objects \(GDB\)): To print string objects in the debugger: First, setup the debugger with the ____ statement: Then use `print` in the debugging console.

[Assistant] debugger


[User] In the Amber docs section 'Debug on VSCode', complete this statement: By convention the project directory name is the same as your application name, if you have changed it, please update `${workspaceFolderBasename}` with the name configured inside ____

[Assistant] The missing term is shards.yml.


[User]
Choose the correct option to complete this Amber docs statement (Encrypted Environment Settings): It contains a ____ that is used to decrypt your encrypted environment settings.
Options:
A) chromedriver
B) {environment}.enc
C) secret_key_base
D) config/mailer.cr
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Creating the database): Edit the database setting for your current environment by editing the file: Amber looks at the ____ key for the default database connection string.

[Assistant] database_url


[User]
Choose the correct option to complete this Amber docs statement (From Source): Download and install ____ **NOTE:** At the time of this writing, v1.4.1 is the current stable release, but you should use the most recent tag in place of that.
Options:
A) ./tmp/{timestamp}_console.cr
B) slang
C) save
D) amber
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'check out the latest code into the working copy', complete this statement: * ____ is your project with your`.git` folder inside.

[Assistant] The missing term is <repository>.


[User]
Choose the correct option to complete this Amber docs statement (Debug on VSCode): By convention the project directory name is the same as your application name, if you have changed it, please update `${workspaceFolderBasename}` with the name configured inside ____
Options:
A) shards.yml
B) Dockerfile
C) channel.push
D) respond_with
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (The `mailcatcher` container): If you generate mailers, it will configure the ____ to point to the mail catcher container.

[Assistant] SMTP_URL


[User] Fill in the blank from the Amber framework docs (The Test Environment): By default every Amber application generates with three environments: ____, `test` and `production`.

[Assistant] development


[User]
Choose the correct option to complete this Amber docs statement (Initializers): For example, to initialize a ____ mailer: ```ruby
Options:
A) Quartz
B) docker-compose.yml
C) DB::Rollback
D) bin/myapp
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Creating the database): If that isn’t the case, update the ____ key with the correct database credentials for your environment.
Options:
A) .distinct
B) database_url
C) .first
D) mapping
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Application.cr): The main entry point for an Amber application is ____.

[Assistant] config/application.cr


[User] Fill in the blank from the Amber framework docs (Usage): The following field types are supported: - ____ - `:file` - `:hidden` - `:password` - `:radio` - `:select` - `:text` - `:textarea`

[Assistant] :checkbox


[User] In the Amber docs section 'Usage', complete this statement: The following field types are supported: - ____ - `:file` - `:hidden` - `:password` - `:radio` - `:select` - `:text` - `:textarea`

[Assistant] The missing term is :checkbox.


[User] Fill in the blank from the Amber framework docs (Finding Layouts): To find the current layout, Amber first looks for a file in ____ with the same base name as the controller.

[Assistant] src/views/layouts


[User]
Choose the correct option to complete this Amber docs statement (Rendering Content): In most cases, the ____ method does the heavy lifting of rendering your application's content for use by a browser.
Options:
A) pets
B) Controller::Base#render
C) database_url
D) exec
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Methods and Actions): A controller is a Crystal class which inherits from ____and has methods just like any other class.

[Assistant] ApplicationController


[User] Fill in the blank from the Amber framework docs (Join a channel): After the promise passes, include the following code in the function from within the ____ that will be triggered.

[Assistant] .then


[User]
Choose the correct option to complete this Amber docs statement (Validation API): ____ Returns true if all params are valid or false otherwise.
Options:
A) debugger
B) first
C) #valid?
D) Amber::WebSockets::ClientSocket
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Validation API): ____ Returns an array of errors for the invalid inputs.

[Assistant] #errors


[User]
Choose the correct option to complete this Amber docs statement (The `web` container): You can see the webpack configuration in the ____ directory to see what assets are compiled.
Options:
A) .css
B) chat_room
C) config/webpack
D) :web
Reply with the letter of the correct option.

[Assistant] C