[User]
Choose the correct option to complete this Amber docs statement (Introduction): A common message handler will simply rebroadcast the message to the other subscribers with ____ method.
Options:
A) create
B) rebroadcast!
C) max
D) mapping
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section '`amber db`', complete this statement: The ____ or `db` command is one of the most common command that you will be operating.

[Assistant] The missing term is database.


[User] In the Amber docs section 'Introduction', complete this statement: A common message handler will simply rebroadcast the message to the other subscribers with ____ method.

[Assistant] The missing term is rebroadcast!.


[User] Fill in the blank from the Amber framework docs (Dockerfile): It starts from the official ____ docker image.

[Assistant] crystallang/crystal:{version}


[User] In the Amber docs section 'Create a single connection to the server', complete this statement: Place the route that was created on the server side in the ____ as the endpoint to which the front end will connect to.

[Assistant] The missing term is routes.cr.


[User]
Choose the correct option to complete this Amber docs statement (Working with Views): (Kilt will work with ____ and `temel` as well, but they haven't been tested in amber, so your experience may vary.) Kilt automatically selects the templating engine based on the extension of the file being read (e.g.
Options:
A) spec
B) amber
C) belongs_to
D) mustache
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Methods and Actions): Controllers are defined as such: As an example, if a user goes to ____ in your application to add a new client, Amber will create an instance of **ApiController** and call it's **index** method
Options:
A) src/controllers/hello_controller.cr
B) message_new
C) channel.push
D) api/index
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Full Example:', complete this statement: Set the article's ____ flag to be `false` 1.

[Assistant] The missing term is archived.


[User] In the Amber docs section 'Validation API', complete this statement: If valid, returns a hash of validated params otherwise raises ____ which contains the failed validaton error messages.

[Assistant] The missing term is Validator::ValidationFailed.


[User] In the Amber docs section 'Environments', complete this statement: For example if ____ the framework will expect a `config/environments/staging.yml` file to exist and attempt to load its configurations into the application.

[Assistant] The missing term is AMBER_ENV=staging.


[User] In the Amber docs section 'Working with Views', complete this statement: Views are rendered with the amber ____ macro, which uses [Kilt](http://github.com/jeromegn/kilt).

[Assistant] The missing term is render.


[User] In the Amber docs section 'Tips and Tricks for debugging Crystal applications', complete this statement: ____ 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.

[Assistant] The missing term is lldb.


[User] Fill in the blank from the Amber framework docs (Amber Testing): The ____ test directory holds system tests, which are used for full browser testing of your application.

[Assistant] system


[User] Fill in the blank from the Amber framework docs (docker-compose.yml): The ____ file will allow you to easily get up and running.

[Assistant] docker-compose.yml


[User] Fill in the blank from the Amber framework docs (Note about Amber Encryption Key): This is added to ____ by default as it should never be added to your repo.

[Assistant] gitignore


[User]
Choose the correct option to complete this Amber docs statement (1. Install dependencies): If you already have ____, `amber`, and a database installed, you can [skip this step](#2.-generate-a-new-amber-application).
Options:
A) /spec
B) settings.cr
C) {project_name}/config/environments
D) crystal
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Validation API): ____ Setup validation rules to be performed.
Options:
A) .to_s
B) #validation
C) slang
D) scope
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (The Heroku Procfile): To deploy your app to heroku you're going to need a ____.
Options:
A) Procfile
B) AMBER_ENCRYPTION_KEY
C) Amber::WebSockets::ClientSocket
D) .group
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Mappings): If that is not true, you should pass ____ as the second argument and override the `::field_count` method to represent the correct field count.

[Assistant] false


[User] In the Amber docs section 'Create Procfile', complete this statement: Create a ____ at the root of your Amber application and add the following: The Amber buildpack takes care of compiling the project for you.

[Assistant] The missing term is Procfile.


[User] Fill in the blank from the Amber framework docs (Working with Views): [Amber Generators](https://docs.amberframework.org/amber/cli/generate) support ____ and `ecr` templates using the `-t` option when creating a new project.

[Assistant] slang


[User] In the Amber docs section 'Amber Testing', complete this statement: The first time you generate an Amber application using `amber new your_app_name` a ____ directory is generated.

[Assistant] The missing term is spec.


[User] In the Amber docs section 'Where', complete this statement: ____ retrieves everything \(only at the beginning; creates empty request\).

[Assistant] The missing term is all.


[User] In the Amber docs section '1.2 Install a database', complete this statement: Amber works with ____ \(default\), `mysql`, or `sqlite`.

[Assistant] The missing term is postgresql.


[User] In the Amber docs section 'Add A Jennifer Initializer to Configuration', complete this statement: To begin, you will need to create a ____ file in your project's `config` directory.

[Assistant] The missing term is config/jennifer.cr.


[User] In the Amber docs section 'Distinct', complete this statement: ____ can only be at the end of the query chain as it results in a direct database query.

[Assistant] The missing term is distinct.


[User] Fill in the blank from the Amber framework docs (Set Encryption Key): Amber adds it by default to your ____ file.

[Assistant] .gitignore


[User] In the Amber docs section 'Docker', complete this statement: When you generate a new Amber project, we include ____ and `docker-compose.yml` files to simplify development.

[Assistant] The missing term is Dockerfile.


[User]
Choose the correct option to complete this Amber docs statement (Introduction): * ____ - Called when a user leaves the channel.
Options:
A) spec_helper.cr
B) shard.yml
C) handle_message
D) handle_leave
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Custom): Here you don't need to setup ____, however the requested path requires a `.json` extension, by example `/json_api.json` For a full CRUD example, see [JSON API full CRUD](../examples/json-api-full-crud.md).

[Assistant] content_type


[User]
Choose the correct option to complete this Amber docs statement (Where): The ____ method accepts a block which represents the where clause of the query statement.
Options:
A) --release
B) build
C) where
D) SMTP_URL
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Send messages from controllers \(or anywhere else\)', complete this statement: ____ provides a public class method `broadcast` for publishing messages to all subscribers of a topic from within controllers or anywhere else in your application.

[Assistant] The missing term is Amber::WebSockets::ClientSocket.


[User] Fill in the blank from the Amber framework docs (FormBuilder in Plain Crystal Code): When using the ____ method in plain Crystal code, the `<<` syntax is required to add the generated field HTML to the form HTML string OR you can use the lower level `String.build` instead:

[Assistant] FormBuilder.form


[User] Fill in the blank from the Amber framework docs (Resources): In order to use resourceful routing for a particular controller, your controller _must_ define and implement all seven standard actions: ____, `edit`, `new`, `show`, `create`, `destroy`, and `update`.

[Assistant] index


[User]
Choose the correct option to complete this Amber docs statement (The Flash): Make sure the Flash, Session and CSRF pipelines are enabled in your ____ file and in the order that the scaffolding renders them.
Options:
A) routes.cr
B) #{{relation_name}}_query
C) config/initializers
D) .crystal-version
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Encrypt unencrypted environment settings', complete this statement: `amber encrypt development` will encrypt ____ using same keys as above.

[Assistant] The missing term is config/environments/development.yml.


[User]
Choose the correct option to complete this Amber docs statement (Validation API): ____ Input must be valid otherwise raises an error.
Options:
A) index
B) shards.yml
C) #validate!
D) src/controllers/admin
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Where): You can chain several ____ methods together and they will be concatenated using `AND`.
Options:
A) SELECT
B) config/
C) chromedriver
D) where
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (How are messages broadcasted?): Whenever a user sends a message that is broadcasted through the JavaScript ____ function, the `handle_message` method is invoked.

[Assistant] channel.push


[User] In the Amber docs section 'docker-compose.yml', complete this statement: The ____ file will allow you to easily get up and running.

[Assistant] The missing term is docker-compose.yml.


[User] Fill in the blank from the Amber framework docs (Can't build my amber project): Then, ensure to install all development packages for ____ `git`, `yaml`, `libevent`, and `sqlite3`, `postgresql`, or `mysql`.

[Assistant] openssl


[User]
Choose the correct option to complete this Amber docs statement (Select): Raw SQL for ____ clause can be passed into `.select` method.
Options:
A) destroy
B) .amber.yml
C) exec
D) SELECT
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Where): As mentioned, after declaring model attributes, you can use their names inside of a block: ____ if it is for the current table and `ModelName._field_name` if for another model.

[Assistant] _field_name


[User] Fill in the blank from the Amber framework docs (Introduction): Channels define 3 public methods that can be used: * ____ - Called when a user joins a channel.

[Assistant] handle_joined


[User] In the Amber docs section 'Configuration', complete this statement: Every Amber project has a ____ directory.

[Assistant] The missing term is {project_name}/config.


[User] In the Amber docs section 'Define Buildpack', complete this statement: Create a file named ____ in the root of your project and with this: ```text https://github.com/amberframework/heroku-buildpack-amber.git

[Assistant] The missing term is .buildpacks.


[User] In the Amber docs section 'Bootstrap an Application', complete this statement: Change your current directory to ____, if that was the path you chose:

[Assistant] The missing term is weblog.


[User] Fill in the blank from the Amber framework docs (Installation): Add this to your application's ____ file: Then require it within the `config/application.cr` file:

[Assistant] shard.yml


[User] In the Amber docs section 'Application.cr', complete this statement: The main entry point for an Amber application is ____.

[Assistant] The missing term is config/application.cr.


[User] In the Amber docs section 'Define a Mailer', complete this statement: You may use the ____ helper to create the body of the email.

[Assistant] The missing term is render.


[User]
Choose the correct option to complete this Amber docs statement (Transaction): To rollback a transaction, raise ____ exception.
Options:
A) :status
B) --back
C) /app/local
D) DB::Rollback
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Bootstrap an Application): Change your current directory to ____, if that was the path you chose:
Options:
A) index
B) chat_room:
C) weblog
D) pets
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Methods and Actions', complete this statement: A controller is a Crystal class which inherits from ____and has methods just like any other class.

[Assistant] The missing term is ApplicationController.


[User] Fill in the blank from the Amber framework docs (Amber Testing): * ____ * `/controllers` * `/system` * `/models` * `/integrations` * `/mailers` The `helpers`, `mailers`, and `models` directories are meant to hold tests for view helpers, mailers, and models, respectively.

[Assistant] /spec


[User]
Choose the correct option to complete this Amber docs statement (Eager load): Also you can extract the first entity via ____.
Options:
A) #validation
B) first
C) :status
D) src/views/layouts/photos.ecr
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Finding Layouts): For example, rendering actions from the PhotosController class will use ____.


[User]
Choose the correct option to complete this Amber docs statement (Introduction): An ____ instance has both `cookies` and `session` getters and are available from within the `on_connect` method.
Options:
A) Amber::WebSockets::ClientSocket
B) {project_name}/config/environments
C) Resources
D) config/settings.cr
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Rendering an Action's Template from Another Controller', complete this statement: 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] The missing term is render.


[User] In the Amber docs section 'Callbacks', complete this statement: The available macros for defining callbacks include: * ____ * `after_save` * `before_create` * `after_create` * `after_initialize` * `before_destroy` They accept method names.

[Assistant] The missing term is before_save.


[User] Fill in the blank from the Amber framework docs (Join a channel): In the above example, ____ is the channel that was created on line 2 of the `ChatSocket` struct.

[Assistant] chat_room


[User] Fill in the blank from the Amber framework docs (Note about Amber Encryption Key): When a new project is created the file ____ is created with a random key.

[Assistant] .encryption_key


[User]
Choose the correct option to complete this Amber docs statement (Joins): Also there are two shortcuts for left and right joins: > For now Jennifer provides manual aliasing as a second argument for ____ and automatic when using `#includes` and `#with` methods.
Options:
A) AMBER_ENV=staging
B) #join
C) encrypt
D) .group
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Encrypted Environment Settings', complete this statement: It contains a ____ that is used to decrypt your encrypted environment settings.

[Assistant] The missing term is secret_key_base.


[User] In the Amber docs section 'Amber Testing', complete this statement: The ____ test directory holds system tests, which are used for full browser testing of your application.

[Assistant] The missing term is system.


[User] In the Amber docs section '1.2 Install a database', complete this statement: By default, a new Amber application generates a ____ that can be used for this purpose.

[Assistant] The missing term is docker-compose.yml.


[User] In the Amber docs section 'Note about Amber Encryption Key', complete this statement: When a new project is created the file ____ is created with a random key.

[Assistant] The missing term is .encryption_key.


[User] In the Amber docs section 'How to use CSRF with Ajax', complete this statement: To use CSRF with Ajax, simply call the ____ helper inside your controller and return it as part of a JSON object: In your Javascript, after getting the JSON object back, refresh your CSRF tag with the one from the server.

[Assistant] The missing term is csrf_tag.


[User] In the Amber docs section 'Introduction', complete this statement: Channels define 3 public methods that can be used: * ____ - Called when a user joins a channel.

[Assistant] The missing term is handle_joined.


[User] Fill in the blank from the Amber framework docs (Define Crystal Version): Create a file named ____ in the root of your project with the wanted crystal version:

[Assistant] .crystal-version


[User] Fill in the blank from the Amber framework docs (Create Procfile): Create a ____ at the root of your Amber application and add the following: The Amber buildpack takes care of compiling the project for you.

[Assistant] Procfile


[User]
Choose the correct option to complete this Amber docs statement (Define Buildpack): Create a file named ____ in the root of your project and with this: ```text https://github.com/amberframework/heroku-buildpack-amber.git
Options:
A) .delete
B) http://www.mycoolsite.com/page
C) Amber::Router::File
D) .buildpacks
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Set Encryption Key', complete this statement: 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] The missing term is .encryption_key.


[User]
Choose the correct option to complete this Amber docs statement (Methods and Actions): A controller is a Crystal class which inherits from ____and has methods just like any other class.
Options:
A) crystal
B) ApplicationController
C) <repository>
D) #remove_{{relation_name}}
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (7. Print hidden objects): You can unhide them using the ____ method and a temporary debugging variable, like this: This trick allows showing the `bar_hello_to_s` variable inside the debugger tool.
Options:
A) .to_s
B) StaticController
C) settings.cr
D) config/routes.cr
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Set Encryption Key', complete this statement: Copy the key from ____ and set it to env, like so:

[Assistant] The missing term is .encryption_key.


[User]
Choose the correct option to complete this Amber docs statement (Create Procfile): Create a ____ at the root of your Amber application and add the following: The Amber buildpack takes care of compiling the project for you.
Options:
A) secret_key_base
B) application_controller.cr
C) Procfile
D) AMBER_ENV=staging
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Usage): The following field types are supported: - ____ - `:file` - `:hidden` - `:password` - `:radio` - `:select` - `:text` - `:textarea`
Options:
A) --back
B) bin/{your-app-name}
C) secret_key_base
D) :checkbox
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Where): ____ retrieves everything \(only at the beginning; creates empty request\).
Options:
A) {environment}.enc
B) .first
C) .buildpacks
D) all
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Requirements): Then uncomment in ____: In order for the buildpack to work properly you should have a `shard.yml` file,as it is how it will detect that your app is a Crystal app.
Options:
A) config/settings.cr
B) Quartz
C) config/routes.cr
D) message_new
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'The `mailcatcher` container', complete this statement: If you generate mailers, it will configure the ____ to point to the mail catcher container.

[Assistant] The missing term is SMTP_URL.


[User]
Choose the correct option to complete this Amber docs statement (Build and run your project): To compile your project use `shards build myapp`and run the executable with ____.
Options:
A) has_many
B) Profile.all
C) bin/myapp
D) spec
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section '`amber new`', complete this statement: An ____ configuration file is generated a long with the default application directory structure.

[Assistant] The missing term is .amber.yml.


[User]
Choose the correct option to complete this Amber docs statement (Environments): Each Amber project ships with three default environments: * Development * Test * Production The files for each environment are found under ____.
Options:
A) <repository>
B) {project_name}/config/environments
C) encryption_key
D) accepts
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Encrypted Environment Settings', complete this statement: This file is added to ____ to avoid inclusion in version control.

[Assistant] The missing term is .gitignore.


[User]
Choose the correct option to complete this Amber docs statement (How do I access my custom settings?): In your application, you can access settings from your environment YAML files using the ____ Hash
Options:
A) with
B) .distinct
C) api/index
D) Amber.settings.secrets
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Eager load): To extract only some fields rather than entire objects, use ____: It returns an array of values if only one field was given, and an array of arrays if more.

[Assistant] pluck


[User]
Choose the correct option to complete this Amber docs statement (Hello World): This recipe will help you to setup a `Hello World!` response in your ____ path.
Options:
A) /hello
B) _some_model_or_table_name__field_name
C) index.ecr
D) .gitignore
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Can't connect to database): Then, ensure your database is running and the ____ is well specified on `config/environments/{your-enviroment-file}.yml`, or on `DATABASE_URL` environment variable.

[Assistant] database_url


[User] Fill in the blank from the Amber framework docs (7. Print hidden objects): You can unhide them using the ____ method and a temporary debugging variable, like this: This trick allows showing the `bar_hello_to_s` variable inside the debugger tool.

[Assistant] .to_s


[User] In the Amber docs section 'The Test Environment', complete this statement: By default every Amber application generates with three environments: ____, `test` and `production`.

[Assistant] The missing term is development.


[User] Fill in the blank from the Amber framework docs (Buttons): A ____ helper is available: Produces the following HTML For more complex forms, see section below.

[Assistant] button_to


[User]
Choose the correct option to complete this Amber docs statement (Eager load): To extract only some fields rather than entire objects, use ____: It returns an array of values if only one field was given, and an array of arrays if more.
Options:
A) csrf_tag
B) belongs_to
C) pluck
D) content_type
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Build and run your project', complete this statement: To compile your project use `shards build myapp`and run the executable with ____.

[Assistant] The missing term is bin/myapp.


[User] In the Amber docs section 'Note about Amber Encryption Key', complete this statement: Keep track of the values of ____ or `ENV[AMBER_ENCRYPTION_KEY]`.

[Assistant] The missing term is .encryption_key.


[User]
Choose the correct option to complete this Amber docs statement (Finding Layouts): For example, rendering actions from the PhotosController class will use ____.
Options:
A) src/views/layouts/photos.ecr
B) ./microsecond-blog
C) DB::Rollback
D) .group
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (What happens when a user leaves?): The ____ method handles this in the channels class.
Options:
A) :errors
B) handle_leave
C) config/jennifer.cr
D) first
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Environments', complete this statement: Each Amber project ships with three default environments: * Development * Test * Production The files for each environment are found under ____.

[Assistant] The missing term is {project_name}/config/environments.


[User]
Choose the correct option to complete this Amber docs statement (Working with Views): Views are rendered with the amber ____ macro, which uses [Kilt](http://github.com/jeromegn/kilt).
Options:
A) Amber::WebSockets::ClientSocket
B) render
C) where
D) src/views/layouts/photos.ecr
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Define a Mailer): The mailer has the ability to set the ____, `to`, `cc`, `bcc`, and `subject` as well as both `text` and `html` body formats.

[Assistant] from


[User] Fill in the blank from the Amber framework docs (What happens when a user joins?): The ____ method is invoked when a user lands on a web page that has a `new Amber.Socket` established through the JavaScript on it.

[Assistant] handle_joined


[User] In the Amber docs section 'Query DSL', complete this statement: However, some methods can only be used at the end of a chain (such as ____ or `.pluck`).

[Assistant] The missing term is .first.


[User]
Choose the correct option to complete this Amber docs statement (Installation): Add this to your application's ____ file: Then require it within the `config/application.cr` file:
Options:
A) shard.yml
B) #valid?
C) button_to
D) docker-compose.yml
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Namespaces): **Important:** the order you declare your ____ and `resource` routes _does_ matter!
Options:
A) index
B) app/views/shared/_menu.html.ecr
C) namespace
D) :web
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Group): ____ allows to add columns for `GROUP BY` section.

[Assistant] .group


[User] In the Amber docs section 'Amber Testing', complete this statement: The ____ directory is meant to hold tests for controllers, routes, and views.

[Assistant] The missing term is controllers.


[User] Fill in the blank from the Amber framework docs (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 ____

[Assistant] shards.yml


[User] In the Amber docs section 'Finding Layouts', complete this statement: If there is no such controller-specific layout, Amber will use ____.

[Assistant] The missing term is src/views/layouts/application.html.ecr.


[User] Fill in the blank from the Amber framework docs (1.2 Install a database): Amber works with ____ \(default\), `mysql`, or `sqlite`.

[Assistant] postgresql


[User]
Choose the correct option to complete this Amber docs statement (Note about Amber Encryption Key): Keep track of the values of ____ or `ENV[AMBER_ENCRYPTION_KEY]`.
Options:
A) .encryption_key
B) user_join
C) accepts
D) rebroadcast!
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Defining Routes): For example, let's say you are creating a static website and you want the URL to be displayed as ____.
Options:
A) development
B) with
C) build
D) http://www.mycoolsite.com/page
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (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_.

[Assistant] ./microsecond-blog


[User]
Choose the correct option to complete this Amber docs statement (returns => :production): ``` Alternatively, you can use built in environment helpers such as ____, `Amber.env.test?`, and `Amber.env.production?` to check the environment value.
Options:
A) config/environments/development.yml
B) views/home/index.slang
C) Amber.env.development?
D) .css
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Excluding and Including Actions): Sometimes you want to use ____ as a shortcut for defining routes, and with that you don't want to define routes for actions that don't exist yet.
Options:
A) _field_name
B) resources
C) :status
D) /app/local
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Custom): Then in your routes file: Alternatively you can use [____](../guides/controllers/respond-with.md) helper.
Options:
A) respond_with
B) redirect_to
C) postgres
D) belong_to
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Join a channel): In the above example, ____ is the channel that was created on line 2 of the `ChatSocket` struct.
Options:
A) .css
B) Amber.settings.secrets
C) link_to
D) chat_room
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Buttons', complete this statement: A ____ helper is available: Produces the following HTML For more complex forms, see section below.

[Assistant] The missing term is button_to.


[User] Fill in the blank from the Amber framework docs (Add A Jennifer Initializer to Configuration): With your ____ in place, we need to inform Amber about Jennifer and tell the framework how we would like to configure the ORM.

[Assistant] config/database.yml


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) database_url
B) config/
C) .gitignore
D) config/routes.cr
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Destroy): To destroy an object, use ____ \(called without callback\) or `.destroy`.
Options:
A) .delete
B) namespace
C) render
D) user_join
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (check out the latest code into the working copy): * ____ is your project with your`.git` folder inside.

[Assistant] <repository>


[User] In the Amber docs section 'Local CLI', complete this statement: As additional step you can compile an amber CLI inside your project using: Then use ____ to do scaffolding, run migrations and [more](../cli/).

[Assistant] The missing term is bin/amber.


[User] In the Amber docs section 'Note about Amber Encryption Key', complete this statement: This is added to ____ by default as it should never be added to your repo.

[Assistant] The missing term is gitignore.


[User]
Choose the correct option to complete this Amber docs statement (5. Build the application and run the server): The ____ commands will keep observing for file changes within the project and recompiling the application.
Options:
A) settings.cr
B) .git/hook/post-receive
C) watch
D) /hello
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (1. Generate Blogsy App): The ____ will automatically install project dependencies.
Options:
A) chat_room:
B) --deps
C) first
D) Amber.env.development?
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Custom', complete this statement: Here you don't need to setup ____, however the requested path requires a `.json` extension, by example `/json_api.json` For a full CRUD example, see [JSON API full CRUD](../examples/json-api-full-crud.md).

[Assistant] The missing term is content_type.


[User] Fill in the blank from the Amber framework docs (Introduction): An ____ instance has both `cookies` and `session` getters and are available from within the `on_connect` method.

[Assistant] Amber::WebSockets::ClientSocket


[User] Fill in the blank from the Amber framework docs (The Heroku Procfile): When the compilation process is complete a ____ directory is added, with this binary of your application with this binary file ready you can proceed to run your application locally with heroku.

[Assistant] bin/{your-app-name}


[User]
Choose the correct option to complete this Amber docs statement (Amber Testing): The ____ test directory holds system tests, which are used for full browser testing of your application.
Options:
A) gitignore
B) first
C) config/
D) system
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Distinct): ____ can only be at the end of the query chain as it results in a direct database query.

[Assistant] distinct


[User] In the Amber docs section 'Subscribe to events / messages', complete this statement: You may also have a listener on the subject of ____ to notify active connections of a new user to the chatroom.

[Assistant] The missing term is user_join.


[User] In the Amber docs section 'Encrypted Environment Settings', complete this statement: 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 ____.

[Assistant] The missing term is {environment}.enc.


[User] Fill in the blank from the Amber framework docs (Validation API): This array of errors is populated after running ____ or `#valid?`.

[Assistant] #validate!


[User] In the Amber docs section 'Includes', complete this statement: To preload a relation use ____ and pass relation name: If there are several includes with same table - Jennifer will auto alias tables.

[Assistant] The missing term is includes.


[User] Fill in the blank from the Amber framework docs (The Heroku Procfile): To deploy your app to heroku you're going to need a ____.

[Assistant] Procfile


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) halt!
B) .delete
C) build
D) src/views/layouts
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Creating the database', complete this statement: Edit the database setting for your current environment by editing the file: Amber looks at the ____ key for the default database connection string.

[Assistant] The missing term is database_url.


[User] In the Amber docs section 'Example Usage', complete this statement: 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_.

[Assistant] The missing term is ./microsecond-blog.


[User] Fill in the blank from the Amber framework docs (Configuration): Every Amber project has a ____ directory.

[Assistant] {project_name}/config


[User] Fill in the blank from the Amber framework docs (Create a single connection to the server): Place the route that was created on the server side in the ____ as the endpoint to which the front end will connect to.

[Assistant] routes.cr


[User] In the Amber docs section 'Excluding and Including Actions', complete this statement: ____ allow you to pass another argument, `only:` or `except:` to either include actions or exclude them from being generated.

[Assistant] The missing term is Resources.


[User]
Choose the correct option to complete this Amber docs statement (Example Usage): Using `amber new microsecond-blog` will generate a skeleton Amber application in ____.
Options:
A) ./microsecond-blog
B) distinct
C) slang
D) /app/local
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section '1. Install dependencies', complete this statement: If you already have ____, `amber`, and a database installed, you can [skip this step](#2.-generate-a-new-amber-application).

[Assistant] The missing term is crystal.


[User] Fill in the blank from the Amber framework docs (Create Procfile): To deploy your app to Dokku you're going to need a ____.

[Assistant] Procfile


[User]
Choose the correct option to complete this Amber docs statement (6. Printing instance variables): For printing ____ var in this code: You can use `self.foo` in the debugger terminal or VSCode GUI.
Options:
A) @foo
B) #validate!
C) handle_leave
D) distinct
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (The Test Environment): In this case, we can modify our test environment by changing the options found in ____.
Options:
A) lldb
B) docker-compose.yml
C) config/environments/test.yml
D) routes.cr
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Working with Views', complete this statement: ____ will be rendered with the ECR engine).

[Assistant] The missing term is index.ecr.


[User]
Choose the correct option to complete this Amber docs statement (How to use CSRF with Ajax): To use CSRF with Ajax, simply call the ____ helper inside your controller and return it as part of a JSON object: In your Javascript, after getting the JSON object back, refresh your CSRF tag with the one from the server.
Options:
A) config/database.yml
B) app/views/shared/_menu.html.ecr
C) AMBER_ENV
D) csrf_tag
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Initializers): To add a new initializer simply create a file and save it under ____ to load at runtime.
Options:
A) src/controllers/admin
B) link_to
C) chromedriver
D) config/initializers
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Includes): To preload a relation use ____ and pass relation name: If there are several includes with same table - Jennifer will auto alias tables.

[Assistant] includes


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) .encryption_key
B) shard.yml
C) config/initializers
D) where
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Introduction): * ____ - Called when a user sends a message to a channel.
Options:
A) development
B) resources
C) handle_message
D) src/views/layouts/application.html.ecr
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Subscribe to events / messages): You may also have a listener on the subject of ____ to notify active connections of a new user to the chatroom.
Options:
A) resources
B) user_join
C) distinct
D) api/index
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Validation API): If valid, returns a hash of validated params otherwise raises ____ which contains the failed validaton error messages.
Options:
A) includes
B) with
C) spec
D) Validator::ValidationFailed
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Controller Naming Convention', complete this statement: When defining your routes you specify the controller that the route will match to In the snippet above, **ApiController** is the name of the controller ____

[Assistant] The missing term is ./src/controller/api_controller.cr.


[User] Fill in the blank from the Amber framework docs (Introduction): A common message handler will simply rebroadcast the message to the other subscribers with ____ method.

[Assistant] rebroadcast!


[User] Fill in the blank from the Amber framework docs (Methods and Actions): Controllers are defined as such: As an example, if a user goes to ____ in your application to add a new client, Amber will create an instance of **ApiController** and call it's **index** method

[Assistant] api/index


[User] In the Amber docs section 'Validation API', complete this statement: ____ Returns true if all params are valid or false otherwise.

[Assistant] The missing term is #valid?.


[User] In the Amber docs section 'Add A Jennifer Initializer to Configuration', complete this statement: Note that we pass the ____ to `Jennifer::Config.read` this will allow Jennifer to use the correct database settings for the environment.

[Assistant] The missing term is AMBER_ENV.


[User] In the Amber docs section 'From Source', complete this statement: 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.

[Assistant] The missing term is amber.


[User]
Choose the correct option to complete this Amber docs statement (Full Example:): Set the article's ____ flag to be `false` 1.
Options:
A) settings.cr
B) src/views/layouts/application.html.ecr
C) archived
D) default
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'The `app` container', complete this statement: The external project directory is mapped to ____ so as you make changes to your project and amber will watch for changes, recompile and re-launch the application.

[Assistant] The missing term is /app/local.


[User] Fill in the blank from the Amber framework docs (Validation API): ____ Returns true if all params are valid or false otherwise.

[Assistant] #valid?


[User]
Choose the correct option to complete this Amber docs statement (CSRF): To use CSRF, enable the pipe in your ____ by adding the following pipe to a pipeline.
Options:
A) .first!
B) routes.cr
C) #{{relation_name}}_reload
D) config/routes.cr
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): 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.
Options:
A) Procfile
B) .encryption_key
C) config/mailer.cr
D) first
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Initializers', complete this statement: To add a new initializer simply create a file and save it under ____ to load at runtime.

[Assistant] The missing term is config/initializers.


[User] Fill in the blank from the Amber framework docs (Destroy): To destroy an object, use ____ \(called without callback\) or `.destroy`.

[Assistant] .delete


[User] In the Amber docs section 'Exists', complete this statement: ____ check if there is any record with provided conditions.

[Assistant] The missing term is .exists?.


[User] Fill in the blank from the Amber framework docs (Define Buildpack): Create a file named ____ in the root of your project and with this: ```text https://github.com/amberframework/heroku-buildpack-amber.git

[Assistant] .buildpacks


[User] Fill in the blank from the Amber framework docs (Select): Raw SQL for ____ clause can be passed into `.select` method.

[Assistant] SELECT


[User]
Choose the correct option to complete this Amber docs statement (Add A Jennifer Initializer to Configuration): To begin, you will need to create a ____ file in your project's `config` directory.
Options:
A) config/jennifer.cr
B) src/controllers/admin
C) gitignore
D) includes
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (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.

[Assistant] Amber::WebSockets::ClientSocket


[User] In the Amber docs section 'Define Crystal Version', complete this statement: Create a file named ____ in the root of your project with the wanted crystal version:

[Assistant] The missing term is .crystal-version.


[User]
Choose the correct option to complete this Amber docs statement (Can't build my amber project): Then, ensure to install all development packages for ____ `git`, `yaml`, `libevent`, and `sqlite3`, `postgresql`, or `mysql`.
Options:
A) openssl
B) /spec
C) .group
D) SELECT
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Introduction', complete this statement: * ____ - Called when a user leaves the channel.

[Assistant] The missing term is handle_leave.


[User] In the Amber docs section 'Working with Views', complete this statement: (Kilt will work with ____ and `temel` as well, but they haven't been tested in amber, so your experience may vary.) Kilt automatically selects the templating engine based on the extension of the file being read (e.g.

[Assistant] The missing term is mustache.


[User] In the Amber docs section 'Joins', complete this statement: Also there are two shortcuts for left and right joins: > For now Jennifer provides manual aliasing as a second argument for ____ and automatic when using `#includes` and `#with` methods.

[Assistant] The missing term is #join.


[User]
Choose the correct option to complete this Amber docs statement (Mailers): This library is required by default within ____.
Options:
A) config/webpack
B) config/mailer.cr
C) weblog
D) src/views/layouts
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Encrypted Environment Settings): **Never commit the encryption key!** Setup your production machine and use the variable ____ See more on [encrypt section](../cli/encrypt.md)
Options:
A) AMBER_ENCRYPTION_KEY
B) false
C) development
D) _menu.html.ecr
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Set Encryption Key): Amber adds it by default to your ____ file.
Options:
A) .gitignore
B) SELECT
C) config/routes.cr
D) scope
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Custom', complete this statement: Then in your routes file: Alternatively you can use [____](../guides/controllers/respond-with.md) helper.

[Assistant] The missing term is respond_with.


[User] In the Amber docs section 'Eager load', complete this statement: To load relations using same query joins needed tables \(yep you should specify join on condition by yourself again\) and specifies all needed relations in ____ \(relation name not table\).

[Assistant] The missing term is with.


[User] In the Amber docs section '5. Printing array variables', complete this statement: 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.

[Assistant] The missing term is debugger.


[User] Fill in the blank from the Amber framework docs (Eager load): To load relations using same query joins needed tables \(yep you should specify join on condition by yourself again\) and specifies all needed relations in ____ \(relation name not table\).

[Assistant] with


[User]
Choose the correct option to complete this Amber docs statement (Mappings): An important macro in particular is ____ which is used to describe model attributes.
Options:
A) .gitignore
B) _menu.html.ecr
C) mapping
D) handle_leave
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'The Test Environment', complete this statement: In this case, we can modify our test environment by changing the options found in ____.

[Assistant] The missing term is config/environments/test.yml.


[User]
Choose the correct option to complete this Amber docs statement (Includes): To preload a relation use ____ and pass relation name: If there are several includes with same table - Jennifer will auto alias tables.
Options:
A) database
B) includes
C) config/mailer.cr
D) Amber::Server
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Mappings): Note that there are a variety of optional configurations such as ____ values and `null` security that can be appended to the `mapping` definition.

[Assistant] default


[User] In the Amber docs section 'Namespaces', complete this statement: **Important:** the order you declare your ____ and `resource` routes _does_ matter!

[Assistant] The missing term is namespace.


[User] Fill in the blank from the Amber framework docs (Add Amber dependency): First you require to add the ____ shard dependency in your `shard.yml` file: Then execute `shards install` :

[Assistant] amber


[User] In the Amber docs section 'Initializers', complete this statement: For example, to initialize a ____ mailer: ```ruby

[Assistant] The missing term is Quartz.


[User] In the Amber docs section 'Aggregation', complete this statement: ____, `min`, `count`\), and ones working with a GROUP clause and returning an array of values.

[Assistant] The missing term is max.


[User]
Choose the correct option to complete this Amber docs statement (Controller Naming Convention): When defining your routes you specify the controller that the route will match to In the snippet above, **ApiController** is the name of the controller ____
Options:
A) docker-compose.yml
B) config/
C) ./src/controller/api_controller.cr
D) sam.cr
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Local CLI): As additional step you can compile an amber CLI inside your project using: Then use ____ to do scaffolding, run migrations and [more](../cli/).
Options:
A) index
B) StaticController
C) bin/amber
D) FormBuilder.form
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Resources): The ____ macro is a quick way to setup up resourceful routing for all seven standard actions for a controller in a single line.

[Assistant] resources


[User] In the Amber docs section 'Example Usage', complete this statement: Using `amber new microsecond-blog` will generate a skeleton Amber application in ____.

[Assistant] The missing term is ./microsecond-blog.


[User] Fill in the blank from the Amber framework docs (returns => :production): ``` Alternatively, you can use built in environment helpers such as ____, `Amber.env.test?`, and `Amber.env.production?` to check the environment value.

[Assistant] Amber.env.development?


[User]
Choose the correct option to complete this Amber docs statement (Working with Views): [Amber Generators](https://docs.amberframework.org/amber/cli/generate) support ____ and `ecr` templates using the `-t` option when creating a new project.
Options:
A) slang
B) sam.cr
C) #validation
D) all
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'The Heroku Procfile', complete this statement: When the compilation process is complete a ____ directory is added, with this binary of your application with this binary file ready you can proceed to run your application locally with heroku.

[Assistant] The missing term is bin/{your-app-name}.


[User] Fill in the blank from the Amber framework docs (CSRF): To use CSRF, enable the pipe in your ____ by adding the following pipe to a pipeline.

[Assistant] routes.cr


[User] Fill in the blank from the Amber framework docs (1. Generate Blogsy App): The ____ will automatically install project dependencies.

[Assistant] --deps


[User]
Choose the correct option to complete this Amber docs statement (Define a Mailer): The mailer has the ability to set the ____, `to`, `cc`, `bcc`, and `subject` as well as both `text` and `html` body formats.
Options:
A) destroy
B) _menu.html.ecr
C) #errors
D) from
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Join a channel', complete this statement: You can dynamically create separate channels within the prefix of ____ by appending any character after the colon.

[Assistant] The missing term is chat_room:.


[User] Fill in the blank from the Amber framework docs (Working with Views): Views are rendered with the amber ____ macro, which uses [Kilt](http://github.com/jeromegn/kilt).

[Assistant] render


[User] In the Amber docs section 'Amber Testing', complete this statement: * ____ * `/controllers` * `/system` * `/models` * `/integrations` * `/mailers` The `helpers`, `mailers`, and `models` directories are meant to hold tests for view helpers, mailers, and models, respectively.

[Assistant] The missing term is /spec.


[User]
Choose the correct option to complete this Amber docs statement (Eager load): If you are sure that at least one entity in the database satisfies your query, you can call ____.
Options:
A) config/environments/development.yml
B) bin/<your-app>
C) src/views/layouts
D) .first!
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Select', complete this statement: Raw SQL for ____ clause can be passed into `.select` method.

[Assistant] The missing term is SELECT.


[User] Fill in the blank from the Amber framework docs (Where): The ____ method accepts a block which represents the where clause of the query statement.

[Assistant] where


[User] Fill in the blank from the Amber framework docs (Amber Testing): The first time you generate an Amber application using `amber new your_app_name` a ____ directory is generated.

[Assistant] spec


[User]
Choose the correct option to complete this Amber docs statement (Application.cr): The main entry point for an Amber application is ____.
Options:
A) join
B) Validator::ValidationFailed
C) config/application.cr
D) type
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Example Usage): Using `amber new microsecond-blog` will generate a skeleton Amber application in ____.

[Assistant] ./microsecond-blog


[User]
Choose the correct option to complete this Amber docs statement (Configuration): Every Amber project has a ____ directory.
Options:
A) pluck
B) #join
C) config/settings.cr
D) {project_name}/config
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) .crystal-version
B) database_url
C) watch
D) AMBER_ENV
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Mappings', complete this statement: If that is not true, you should pass ____ as the second argument and override the `::field_count` method to represent the correct field count.

[Assistant] The missing term is false.


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) before_save
B) .exists?
C) ./src/controller/api_controller.cr
D) ./tmp/{timestamp}_console.cr
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) default
B) _some_model_or_table_name__field_name
C) handle_message
D) encryption_key
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Validation API): This array of errors is populated after running ____ or `#valid?`.
Options:
A) src/controllers/hello_controller.cr
B) #validate!
C) find
D) message_new
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Resources', complete this statement: In order to use resourceful routing for a particular controller, your controller _must_ define and implement all seven standard actions: ____, `edit`, `new`, `show`, `create`, `destroy`, and `update`.

[Assistant] The missing term is index.


[User] In the Amber docs section '3. Try `@[NoInline]` to debug arguments data', complete this statement: To avoid this behavior use the ____ attribute before your function implementation.

[Assistant] The missing term is @[NoInline].


[User] Fill in the blank from the Amber framework docs (Subscribe to events / messages): For example, below the subject of ____ is being listened to from within the `chat_room:123` channel.

[Assistant] message_new


[User] In the Amber docs section 'Requirements', complete this statement: Then uncomment in ____: In order for the buildpack to work properly you should have a `shard.yml` file,as it is how it will detect that your app is a Crystal app.

[Assistant] The missing term is config/settings.cr.


[User] Fill in the blank from the Amber framework docs (The `app` container): The external project directory is mapped to ____ so as you make changes to your project and amber will watch for changes, recompile and re-launch the application.


[User] Fill in the blank from the Amber framework docs (Validation API): If valid, returns a hash of validated params otherwise raises ____ which contains the failed validaton error messages.

[Assistant] Validator::ValidationFailed


[User] In the Amber docs section 'Editing Encrypted Files', complete this statement: 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] The missing term is encryption_key.


[User] Fill in the blank from the Amber framework docs (Add A Jennifer Initializer to Configuration): To begin, you will need to create a ____ file in your project's `config` directory.

[Assistant] config/jennifer.cr


[User]
Choose the correct option to complete this Amber docs statement (Define Crystal Version): Create a file named ____ in the root of your project with the wanted crystal version:
Options:
A) find
B) .crystal-version
C) build
D) src/views/layouts
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Dockerfile', complete this statement: It starts from the official ____ docker image.

[Assistant] The missing term is crystallang/crystal:{version}.


[User]
Choose the correct option to complete this Amber docs statement (Error Handling): If the ____ argument is provided it will generate the appropriate error help text element(s) next to the field.
Options:
A) controllers
B) openssl
C) :errors
D) routes.cr
Reply with the letter of the correct option.

[Assistant] C


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

[Assistant] handle_message


[User] Fill in the blank from the Amber framework docs (Where): As a method name, you can specify an attribute of the model or table using underscores: ____ - model/table name is separated from field name by "_\_".

[Assistant] _some_model_or_table_name__field_name


[User] In the Amber docs section 'How do I access my custom settings?', complete this statement: In your application, you can access settings from your environment YAML files using the ____ Hash

[Assistant] The missing term is Amber.settings.secrets.


[User]
Choose the correct option to complete this Amber docs statement (Encrypt unencrypted environment settings): `amber encrypt development` will encrypt ____ using same keys as above.
Options:
A) config/environments/development.yml
B) config/mailer.cr
C) encrypt
D) chromedriver
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (1.2 Install a database): By default, a new Amber application generates a ____ that can be used for this purpose.

[Assistant] docker-compose.yml


[User]
Choose the correct option to complete this Amber docs statement (FormBuilder in Plain Crystal Code): When using the ____ method in plain Crystal code, the `<<` syntax is required to add the generated field HTML to the form HTML string OR you can use the lower level `String.build` instead:
Options:
A) /hello
B) FormBuilder.form
C) max
D) config/environments/test.yml
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (Validation API): ____ Input must be valid otherwise raises an error.

[Assistant] #validate!


[User] In the Amber docs section 'Validation API', complete this statement: ____ Setup validation rules to be performed.

[Assistant] The missing term is #validation.


[User] Fill in the blank from the Amber framework docs (Requirements): Then uncomment in ____: In order for the buildpack to work properly you should have a `shard.yml` file,as it is how it will detect that your app is a Crystal app.

[Assistant] config/settings.cr


[User] In the Amber docs section 'Methods and Actions', complete this statement: Controllers are defined as such: As an example, if a user goes to ____ in your application to add a new client, Amber will create an instance of **ApiController** and call it's **index** method

[Assistant] The missing term is api/index.


[User] Fill in the blank from the Amber framework docs (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.

[Assistant] debugger


[User]
Choose the correct option to complete this Amber docs statement (Create a single connection to the server): Place the route that was created on the server side in the ____ as the endpoint to which the front end will connect to.
Options:
A) crystallang/crystal:{version}
B) handle_message
C) ApplicationController
D) routes.cr
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'What happens when a user joins?', complete this statement: The ____ method is invoked when a user lands on a web page that has a `new Amber.Socket` established through the JavaScript on it.

[Assistant] The missing term is handle_joined.


[User]
Choose the correct option to complete this Amber docs statement (Create Procfile): To deploy your app to Dokku you're going to need a ____.
Options:
A) config/jennifer.cr
B) .git/hook/post-receive
C) Procfile
D) with
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Subscribe to events / messages', complete this statement: For example, below the subject of ____ is being listened to from within the `chat_room:123` channel.

[Assistant] The missing term is message_new.


[User]
Choose the correct option to complete this Amber docs statement (Define a Mailer): You may use the ____ helper to create the body of the email.
Options:
A) routes.cr
B) amber
C) {project_name}/config
D) render
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Where): ____ retrieves everything \(only at the beginning; creates empty request\).

[Assistant] all


[User]
Choose the correct option to complete this Amber docs statement (The `app` container): The external project directory is mapped to ____ so as you make changes to your project and amber will watch for changes, recompile and re-launch the application.
Options:
A) join
B) #validation
C) save
D) /app/local
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Working with Views): ____ will be rendered with the ECR engine).
Options:
A) _field_name
B) button_to
C) before_save
D) index.ecr
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Excluding and Including Actions): Sometimes you want to use ____ as a shortcut for defining routes, and with that you don't want to define routes for actions that don't exist yet.

[Assistant] resources


[User]
Choose the correct option to complete this Amber docs statement (Docker): When you generate a new Amber project, we include ____ and `docker-compose.yml` files to simplify development.
Options:
A) .first!
B) channel.push
C) respond_with
D) Dockerfile
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Validation API', complete this statement: ____ Returns an array of errors for the invalid inputs.

[Assistant] The missing term is #errors.


[User] In the Amber docs section 'Where', complete this statement: As a method name, you can specify an attribute of the model or table using underscores: ____ - model/table name is separated from field name by "_\_".

[Assistant] The missing term is _some_model_or_table_name__field_name.


[User] Fill in the blank from the Amber framework docs (4. Create and migrate the database): This will create a new database and run the migration to create a ____ table with the specified columns.

[Assistant] pets


[User] Fill in the blank from the Amber framework docs (Environments): For example if ____ the framework will expect a `config/environments/staging.yml` file to exist and attempt to load its configurations into the application.

[Assistant] AMBER_ENV=staging


[User] In the Amber docs section 'Define a Mailer', complete this statement: The mailer has the ability to set the ____, `to`, `cc`, `bcc`, and `subject` as well as both `text` and `html` body formats.

[Assistant] The missing term is from.


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) #add_{{relation_name}}
B) postgresql
C) scope
D) crystal
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Query DSL): However, some methods can only be used at the end of a chain (such as ____ or `.pluck`).
Options:
A) DB::Rollback
B) belongs_to
C) bin/myapp
D) .first
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Custom): Then in your routes file: Alternatively you can use [____](../guides/controllers/respond-with.md) helper.

[Assistant] respond_with


[User] In the Amber docs section 'File Mode', complete this statement: 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.

[Assistant] The missing term is ./tmp/{timestamp}_console.cr.


[User]
Choose the correct option to complete this Amber docs statement (Dockerfile): It will also add the project to the ____ folder on the image so you can use this in production as well.
Options:
A) /app
B) settings.cr
C) postgres
D) #valid?
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Callbacks): The available macros for defining callbacks include: * ____ * `after_save` * `before_create` * `after_create` * `after_initialize` * `before_destroy` They accept method names.
Options:
A) before_save
B) bin/myapp
C) crystal
D) ./tmp/{timestamp}_console.cr
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Creating the database): If that isn’t the case, update the ____ key with the correct database credentials for your environment.

[Assistant] database_url


[User] Fill in the blank from the Amber framework docs (Find): An object can be retrieved by id using ____ \(returns `T?`\) and `find!` \(returns `T` or raise `RecordNotFound` exception\) methods.

[Assistant] find


[User]
Choose the correct option to complete this Amber docs statement (Eager load): To load relations using same query joins needed tables \(yep you should specify join on condition by yourself again\) and specifies all needed relations in ____ \(relation name not table\).
Options:
A) find
B) chat_room
C) openssl
D) with
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Namespaces): **Important:** the order you declare your ____ and `resource` routes _does_ matter!

[Assistant] namespace


[User] Fill in the blank from the Amber framework docs (Creating the database): Amber assumes that your PostgreSQL database will have a ____ user account with the correct permissions and no password set for this user.

[Assistant] postgres


[User] In the Amber docs section 'Join a channel', complete this statement: After the promise passes, include the following code in the function from within the ____ that will be triggered.

[Assistant] The missing term is .then.


[User] In the Amber docs section 'Hello World', complete this statement: First create a ____ file and add this: Then add a new route in your `config/routes.cr` file:

[Assistant] The missing term is src/controllers/hello_controller.cr.


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) encrypt
B) debugger
C) respond_with
D) all
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Mappings): If that is not true, you should pass ____ as the second argument and override the `::field_count` method to represent the correct field count.
Options:
A) find
B) --back
C) false
D) link_to
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Environments): At runtime the framework will use the ____ environment value to load the respective environment configuration into the application.
Options:
A) html
B) AMBER_ENV
C) bin/<your-app>
D) handle_leave
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (What happens when a user joins?): The ____ method is invoked when a user lands on a web page that has a `new Amber.Socket` established through the JavaScript on it.
Options:
A) encryption_key
B) _menu.html.ecr
C) handle_joined
D) spec
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Bootstrap an Application): Change your current directory to ____, if that was the path you chose:

[Assistant] weblog


[User] In the Amber docs section 'Eager load', complete this statement: Also you can extract the first entity via ____.

[Assistant] The missing term is first.


[User] In the Amber docs section 'Eager load', complete this statement: If you are sure that at least one entity in the database satisfies your query, you can call ____.

[Assistant] The missing term is .first!.


[User] In the Amber docs section 'Join a channel', complete this statement: In the above example, ____ is the channel that was created on line 2 of the `ChatSocket` struct.

[Assistant] The missing term is chat_room.


[User] Fill in the blank from the Amber framework docs (Note about Amber Encryption Key): Keep track of the values of ____ or `ENV[AMBER_ENCRYPTION_KEY]`.

[Assistant] .encryption_key


[User]
Choose the correct option to complete this Amber docs statement (Custom): Here you don't need to setup ____, however the requested path requires a `.json` extension, by example `/json_api.json` For a full CRUD example, see [JSON API full CRUD](../examples/json-api-full-crud.md).
Options:
A) csrf_tag
B) spec
C) @foo
D) content_type
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Halt!', complete this statement: 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] The missing term is halt!.


[User] In the Amber docs section 'Installation', complete this statement: Add this to your application's ____ file: Then require it within the `config/application.cr` file:

[Assistant] The missing term is shard.yml.


[User]
Choose the correct option to complete this Amber docs statement (docker-compose.yml): The ____ file will allow you to easily get up and running.
Options:
A) handle_joined
B) .amber.yml
C) DB::Rollback
D) docker-compose.yml
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Define a Mailer): You may use the ____ helper to create the body of the email.

[Assistant] render


[User] Fill in the blank from the Amber framework docs (How do I access my custom settings?): In your application, you can access settings from your environment YAML files using the ____ Hash

[Assistant] Amber.settings.secrets


[User] In the Amber docs section 'Working with Views', complete this statement: [Amber Generators](https://docs.amberframework.org/amber/cli/generate) support ____ and `ecr` templates using the `-t` option when creating a new project.

[Assistant] The missing term is slang.


[User] Fill in the blank from the Amber framework docs (5. Build the application and run the server): The ____ commands will keep observing for file changes within the project and recompiling the application.

[Assistant] watch


[User] Fill in the blank from the Amber framework docs (3. Try `@[NoInline]` to debug arguments data): To avoid this behavior use the ____ attribute before your function implementation.

[Assistant] @[NoInline]


[User] In the Amber docs section 'Finding Layouts', complete this statement: For example, rendering actions from the PhotosController class will use ____.

[Assistant] The missing term is src/views/layouts/photos.ecr.


[User]
Choose the correct option to complete this Amber docs statement (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.
Options:
A) weblog
B) database_url
C) Procfile
D) system
Reply with the letter of the correct option.

[Assistant] B


[User] Fill in the blank from the Amber framework docs (How to use CSRF with Ajax): To use CSRF with Ajax, simply call the ____ helper inside your controller and return it as part of a JSON object: In your Javascript, after getting the JSON object back, refresh your CSRF tag with the one from the server.

[Assistant] csrf_tag


[User] In the Amber docs section 'Where', complete this statement: The ____ method accepts a block which represents the where clause of the query statement.

[Assistant] The missing term is where.


[User] In the Amber docs section 'The `web` container', complete this statement: You can see the webpack configuration in the ____ directory to see what assets are compiled.

[Assistant] The missing term is config/webpack.


[User]
Choose the correct option to complete this Amber docs statement (Where): As a method name, you can specify an attribute of the model or table using underscores: ____ - model/table name is separated from field name by "_\_".
Options:
A) bin/amber
B) csrf_tag
C) _some_model_or_table_name__field_name
D) namespace
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'Encrypt', complete this statement: The ____ command allows you to encrypt and edit your environment settings.

[Assistant] The missing term is encrypt.


[User]
Choose the correct option to complete this Amber docs statement (1.2 Install a database): By default, a new Amber application generates a ____ that can be used for this purpose.
Options:
A) docker-compose.yml
B) amber
C) _field_name
D) ./src/controller/api_controller.cr
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'How are messages broadcasted?', complete this statement: Whenever a user sends a message that is broadcasted through the JavaScript ____ function, the `handle_message` method is invoked.

[Assistant] The missing term is channel.push.


[User] Fill in the blank from the Amber framework docs (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:

[Assistant] src/controllers/admin


[User]
Choose the correct option to complete this Amber docs statement (`amber db`): The ____ or `db` command is one of the most common command that you will be operating.
Options:
A) :checkbox
B) database
C) {project_name}/config/routes.cr
D) has_and_belongs_to_many
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Exec', complete this statement: The ____ command allows you to run short pieces of code within the amber application scope.

[Assistant] The missing term is exec.


[User]
Choose the correct option to complete this Amber docs statement (Creating the database): Amber assumes that your PostgreSQL database will have a ____ user account with the correct permissions and no password set for this user.
Options:
A) config/application.cr
B) _menu.html.ecr
C) postgres
D) #add_{{relation_name}}
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (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.

[Assistant] lldb


[User] In the Amber docs section 'Add A Jennifer Initializer to Configuration', complete this statement: With your ____ in place, we need to inform Amber about Jennifer and tell the framework how we would like to configure the ORM.

[Assistant] The missing term is config/database.yml.


[User]
Choose the correct option to complete this Amber docs statement (The Heroku Procfile): When the compilation process is complete a ____ directory is added, with this binary of your application with this binary file ready you can proceed to run your application locally with heroku.
Options:
A) ./tmp/{timestamp}_console.cr
B) mapping
C) bin/{your-app-name}
D) @[NoInline]
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section '4. Printing strings objects \(GDB\)', complete this statement: To print string objects in the debugger: First, setup the debugger with the ____ statement: Then use `print` in the debugging console.

[Assistant] The missing term is debugger.


[User] Fill in the blank from the Amber framework docs (Docker): When you generate a new Amber project, we include ____ and `docker-compose.yml` files to simplify development.

[Assistant] Dockerfile


[User] In the Amber docs section 'Eager load', complete this statement: To extract only some fields rather than entire objects, use ____: It returns an array of values if only one field was given, and an array of arrays if more.

[Assistant] The missing term is pluck.


[User] Fill in the blank from the Amber framework docs (Set Encryption Key): Copy the key from ____ and set it to env, like so:

[Assistant] .encryption_key


[User] Fill in the blank from the Amber framework docs (Join a channel): You can dynamically create separate channels within the prefix of ____ by appending any character after the colon.

[Assistant] chat_room:


[User] Fill in the blank from the Amber framework docs (Subscribe to events / messages): You may also have a listener on the subject of ____ to notify active connections of a new user to the chatroom.

[Assistant] user_join


[User] Fill in the blank from the Amber framework docs (Environments): At runtime the framework will use the ____ environment value to load the respective environment configuration into the application.

[Assistant] AMBER_ENV


[User]
Choose the correct option to complete this Amber docs statement (Set Encryption Key): Copy the key from ____ and set it to env, like so:
Options:
A) #{{relation_name}}_reload
B) openssl
C) --back
D) .encryption_key
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Mappings): Note that there are a variety of optional configurations such as ____ values and `null` security that can be appended to the `mapping` definition.
Options:
A) --deps
B) postgres
C) has_and_belongs_to_many
D) default
Reply with the letter of the correct option.

[Assistant] D


[User] Fill in the blank from the Amber framework docs (Encrypt unencrypted environment settings): `amber encrypt development` will encrypt ____ using same keys as above.


[User] Fill in the blank from the Amber framework docs (Encrypted Environment Settings): **Never commit the encryption key!** Setup your production machine and use the variable ____ See more on [encrypt section](../cli/encrypt.md)

[Assistant] AMBER_ENCRYPTION_KEY


[User] Fill in the blank from the Amber framework docs (Exists): ____ check if there is any record with provided conditions.

[Assistant] .exists?


[User] In the Amber docs section 'Mappings', complete this statement: An important macro in particular is ____ which is used to describe model attributes.

[Assistant] The missing term is mapping.


[User] Fill in the blank from the Amber framework docs (Distinct): ____ retrieves database column values without repeats.

[Assistant] .distinct


[User] Fill in the blank from the Amber framework docs (Exec): The ____ command allows you to run short pieces of code within the amber application scope.

[Assistant] exec


[User] Fill in the blank from the Amber framework docs (Eager load): Also you can extract the first entity via ____.

[Assistant] first


[User] Fill in the blank from the Amber framework docs (`amber new`): An ____ configuration file is generated a long with the default application directory structure.

[Assistant] .amber.yml


[User] Fill in the blank from the Amber framework docs (Dockerfile): It will also add the project to the ____ folder on the image so you can use this in production as well.

[Assistant] /app


[User] In the Amber docs section 'Where', complete this statement: As mentioned, after declaring model attributes, you can use their names inside of a block: ____ if it is for the current table and `ModelName._field_name` if for another model.

[Assistant] The missing term is _field_name.


[User]
Choose the correct option to complete this Amber docs statement (How are messages broadcasted?): Whenever a user sends a message that is broadcasted through the JavaScript ____ function, the `handle_message` method is invoked.
Options:
A) channel.push
B) scope
C) all
D) http://www.mycoolsite.com/page
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Can't connect to database', complete this statement: Then, ensure your database is running and the ____ is well specified on `config/environments/{your-enviroment-file}.yml`, or on `DATABASE_URL` environment variable.

[Assistant] The missing term is database_url.


[User] In the Amber docs section 'Mappings', complete this statement: Note that there are a variety of optional configurations such as ____ values and `null` security that can be appended to the `mapping` definition.

[Assistant] The missing term is default.


[User] In the Amber docs section 'Mailers', complete this statement: This library is required by default within ____.

[Assistant] The missing term is config/mailer.cr.


[User] Fill in the blank from the Amber framework docs (Local CLI): As additional step you can compile an amber CLI inside your project using: Then use ____ to do scaffolding, run migrations and [more](../cli/).

[Assistant] bin/amber


[User]
Choose the correct option to complete this Amber docs statement (4. Create and migrate the database): This will create a new database and run the migration to create a ____ table with the specified columns.
Options:
A) src/{project}.cr
B) #valid?
C) src/views/layouts/photos.ecr
D) pets
Reply with the letter of the correct option.

[Assistant] D


[User]
Choose the correct option to complete this Amber docs statement (Excluding and Including Actions): ____ allow you to pass another argument, `only:` or `except:` to either include actions or exclude them from being generated.
Options:
A) Resources
B) crystallang/crystal:{version}
C) max
D) .css
Reply with the letter of the correct option.

[Assistant] A


[User] Fill in the blank from the Amber framework docs (Hello World): First create a ____ file and add this: Then add a new route in your `config/routes.cr` file:


[User]
Choose the correct option to complete this Amber docs statement (Pick up Env vars): Ensure these settings are in your ____ file.
Options:
A) settings.cr
B) slang
C) #valid?
D) {project_name}/config
Reply with the letter of the correct option.

[Assistant] A


[User]
Choose the correct option to complete this Amber docs statement (Group): ____ allows to add columns for `GROUP BY` section.
Options:
A) .group
B) .distinct
C) {project_name}/config/routes.cr
D) sam.cr
Reply with the letter of the correct option.

[Assistant] A


[User] In the Amber docs section 'Error Handling', complete this statement: If the ____ argument is provided it will generate the appropriate error help text element(s) next to the field.

[Assistant] The missing term is :errors.


[User]
Choose the correct option to complete this Amber docs statement (Amber Testing): * ____ * `/controllers` * `/system` * `/models` * `/integrations` * `/mailers` The `helpers`, `mailers`, and `models` directories are meant to hold tests for view helpers, mailers, and models, respectively.
Options:
A) crystal
B) /spec
C) channel.push
D) pluck
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Group', complete this statement: ____ allows to add columns for `GROUP BY` section.

[Assistant] The missing term is .group.


[User] Fill in the blank from the Amber framework docs (Links): A ____ helper is available: Produces the following HTML

[Assistant] link_to


[User] Fill in the blank from the Amber framework docs (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 ____.

[Assistant] {environment}.enc


[User] In the Amber docs section 'Introduction', complete this statement: An ____ instance has both `cookies` and `session` getters and are available from within the `on_connect` method.

[Assistant] The missing term is Amber::WebSockets::ClientSocket.


[User] In the Amber docs section 'The Flash', complete this statement: Make sure the Flash, Session and CSRF pipelines are enabled in your ____ file and in the order that the scaffolding renders them.

[Assistant] The missing term is routes.cr.


[User]
Choose the correct option to complete this Amber docs statement (3. Try `@[NoInline]` to debug arguments data): To avoid this behavior use the ____ attribute before your function implementation.
Options:
A) docker-compose.yml
B) message_new
C) @[NoInline]
D) bin/myapp
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section '5. Build the application and run the server', complete this statement: The ____ commands will keep observing for file changes within the project and recompiling the application.

[Assistant] The missing term is watch.


[User] In the Amber docs section 'FormBuilder in Plain Crystal Code', complete this statement: When using the ____ method in plain Crystal code, the `<<` syntax is required to add the generated field HTML to the form HTML string OR you can use the lower level `String.build` instead:

[Assistant] The missing term is FormBuilder.form.


[User] In the Amber docs section 'Validation API', complete this statement: This array of errors is populated after running ____ or `#valid?`.

[Assistant] The missing term is #validate!.


[User] Fill in the blank from the Amber framework docs (Controller Naming Convention): When defining your routes you specify the controller that the route will match to In the snippet above, **ApiController** is the name of the controller ____


[User]
Choose the correct option to complete this Amber docs statement (Buttons): A ____ helper is available: Produces the following HTML For more complex forms, see section below.
Options:
A) has_and_belongs_to_many
B) database
C) button_to
D) _field_name
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Note about Amber Encryption Key): 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] .encryption_key


[User] Fill in the blank from the Amber framework docs (Working with Views): ____ will be rendered with the ECR engine).

[Assistant] index.ecr


[User] Fill in the blank from the Amber framework docs (Pick up Env vars): Ensure these settings are in your ____ file.

[Assistant] settings.cr


[User] In the Amber docs section 'Finding Layouts', complete this statement: To find the current layout, Amber first looks for a file in ____ with the same base name as the controller.

[Assistant] The missing term is src/views/layouts.


[User] In the Amber docs section 'Rendering an Action's Template from Another Controller', complete this statement: 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:

[Assistant] The missing term is src/controllers/admin.


[User]
Choose the correct option to complete this Amber docs statement (The Amber Heroku Buildpack): If you need to use a specific version create a ____ file in your application root directory with the version that should be used \(e.g.
Options:
A) Procfile
B) distinct
C) .crystal-version
D) .first!
Reply with the letter of the correct option.

[Assistant] C


[User] In the Amber docs section 'docker-compose.yml', complete this statement: It includes the ____, `mailcatcher`, `migrate`, `app`, and `web` containers.

[Assistant] The missing term is database.


[User] Fill in the blank from the Amber framework docs (Encrypt): The ____ command allows you to encrypt and edit your environment settings.

[Assistant] encrypt


[User] In the Amber docs section 'CSRF', complete this statement: To use CSRF, enable the pipe in your ____ by adding the following pipe to a pipeline.

[Assistant] The missing term is routes.cr.


[User] In the Amber docs section 'The Amber Heroku Buildpack', complete this statement: If you need to use a specific version create a ____ file in your application root directory with the version that should be used \(e.g.

[Assistant] The missing term is .crystal-version.


[User] Fill in the blank from the Amber framework docs (Excluding and Including Actions): ____ allow you to pass another argument, `only:` or `except:` to either include actions or exclude them from being generated.

[Assistant] Resources


[User] Fill in the blank from the Amber framework docs (Defining Routes): For example, let's say you are creating a static website and you want the URL to be displayed as ____.


[User]
Choose the correct option to complete this Amber docs statement (Where): As mentioned, after declaring model attributes, you can use their names inside of a block: ____ if it is for the current table and `ModelName._field_name` if for another model.
Options:
A) index.ecr
B) handle_message
C) csrf_tag
D) _field_name
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section 'Scopes (aka. Prepared queries)', complete this statement: 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] The missing term is scope.


[User] Fill in the blank from the Amber framework docs (Build and run your project): To compile your project use `shards build myapp`and run the executable with ____.

[Assistant] bin/myapp


[User] In the Amber docs section 'Introduction', complete this statement: * ____ - Called when a user sends a message to a channel.

[Assistant] The missing term is handle_message.


[User] Fill in the blank from the Amber framework docs (Amber Testing): The ____ directory is meant to hold tests for controllers, routes, and views.

[Assistant] controllers


[User] In the Amber docs section 'Encrypted Environment Settings', complete this statement: **Never commit the encryption key!** Setup your production machine and use the variable ____ See more on [encrypt section](../cli/encrypt.md)

[Assistant] The missing term is AMBER_ENCRYPTION_KEY.


[User] In the Amber docs section 'What happens when a user leaves?', complete this statement: The ____ method handles this in the channels class.

[Assistant] The missing term is handle_leave.


[User] Fill in the blank from the Amber framework docs (The Amber Heroku Buildpack): If you need to use a specific version create a ____ file in your application root directory with the version that should be used \(e.g.

[Assistant] .crystal-version


[User] Fill in the blank from the Amber framework docs (Initializers): To add a new initializer simply create a file and save it under ____ to load at runtime.

[Assistant] config/initializers


[User]
Choose the correct option to complete this Amber docs statement (Environments): For example if ____ the framework will expect a `config/environments/staging.yml` file to exist and attempt to load its configurations into the application.
Options:
A) first
B) AMBER_ENV=staging
C) application_controller.cr
D) redirect_to
Reply with the letter of the correct option.

[Assistant] B


[User] In the Amber docs section 'Creating the database', complete this statement: Amber assumes that your PostgreSQL database will have a ____ user account with the correct permissions and no password set for this user.

[Assistant] The missing term is postgres.


[User] In the Amber docs section 'Find', complete this statement: An object can be retrieved by id using ____ \(returns `T?`\) and `find!` \(returns `T` or raise `RecordNotFound` exception\) methods.

[Assistant] The missing term is find.


[User] Fill in the blank from the Amber framework docs (Validation API): ____ Setup validation rules to be performed.

[Assistant] #validation


[User] Fill in the blank from the Amber framework docs (Working with Views): (Kilt will work with ____ and `temel` as well, but they haven't been tested in amber, so your experience may vary.) Kilt automatically selects the templating engine based on the extension of the file being read (e.g.

[Assistant] mustache


[User] Fill in the blank from the Amber framework docs (Mappings): An important macro in particular is ____ which is used to describe model attributes.

[Assistant] mapping


[User] In the Amber docs section 'Dockerfile', complete this statement: It will also add the project to the ____ folder on the image so you can use this in production as well.

[Assistant] The missing term is /app.


[User]
Choose the correct option to complete this Amber docs statement (Resources): In order to use resourceful routing for a particular controller, your controller _must_ define and implement all seven standard actions: ____, `edit`, `new`, `show`, `create`, `destroy`, and `update`.
Options:
A) api/index
B) mustache
C) debugger
D) index
Reply with the letter of the correct option.

[Assistant] D


[User] In the Amber docs section '6. Printing instance variables', complete this statement: For printing ____ var in this code: You can use `self.foo` in the debugger terminal or VSCode GUI.

[Assistant] The missing term is @foo.


[User]
Choose the correct option to complete this Amber docs statement (Resources): The ____ macro is a quick way to setup up resourceful routing for all seven standard actions for a controller in a single line.
Options:
A) openssl
B) resources
C) controllers
D) from
Reply with the letter of the correct option.

[Assistant] B


[User]
Choose the correct option to complete this Amber docs statement (Join a channel): You can dynamically create separate channels within the prefix of ____ by appending any character after the colon.
Options:
A) user_join
B) encrypt
C) chat_room:
D) .buildpacks
Reply with the letter of the correct option.

[Assistant] C


[User]
Choose the correct option to complete this Amber docs statement (Links): A ____ helper is available: Produces the following HTML
Options:
A) config/settings.cr
B) config/initializers
C) link_to
D) Amber::Server
Reply with the letter of the correct option.

[Assistant] C


[User] Fill in the blank from the Amber framework docs (Encrypted Environment Settings): This file is added to ____ to avoid inclusion in version control.

[Assistant] .gitignore