### Configure Scalar in Demo Mode Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Use Scalar's demo mode to load an example specification from Scalar Galaxy. ```ruby # config/initializers/scalar.rb # Option 3: Use demo mode with Scalar Galaxy example spec Scalar.setup do |config| config.configuration = :demo # Uses: https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.yaml end ``` -------------------------------- ### Generate Scalar Install Files Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Use the built-in generator to set up the scalar_ruby gem in a Ruby on Rails application. ```bash bin/rails generate scalar:install ``` -------------------------------- ### Run Scalar Install Generator Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Use the Rails generator to automatically configure Scalar by updating routes and creating an initializer file. ```bash # Run the install generator bin/rails generate scalar:install ``` -------------------------------- ### Convert Scalar Configuration to JSON Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Set the configuration and then use configuration_to_json to get a JSON string representation, useful for JavaScript integration. Demo mode automatically uses the Galaxy spec URL. ```ruby # Get JSON representation for JavaScript config.configuration = { url: '/api.json', theme: 'moon' } config.configuration_to_json # => '{"url":"/api.json","theme":"moon"}' # Demo mode returns the Galaxy spec URL config.configuration = :demo config.configuration_to_json # => '{"url":"https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.yaml"}' ``` -------------------------------- ### Generated Routes File Modification Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt The `scalar:install` generator modifies the routes.rb file to mount the Scalar::UI middleware. ```ruby # config/routes.rb (modified) Rails.application.routes.draw do mount Scalar::UI, at: "/docs" # ... existing routes end ``` -------------------------------- ### Access and Modify Scalar Configuration Singleton Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Access the Scalar::Config singleton to get or set configuration attributes like page_title, library_url, and configuration. Use set_defaults to reset to default values. ```ruby # Access the config singleton directly config = Scalar::Config.instance # Available attributes config.page_title # Default: 'API Reference' config.library_url # Default: 'https://cdn.jsdelivr.net/npm/@scalar/api-reference' config.configuration # Default: {} # Reset to defaults config.set_defaults ``` -------------------------------- ### Configure Scalar Ruby Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Use Scalar.setup in an initializer to configure library URL, page title, or set to demo mode. ```ruby Scalar.setup do |config| # config.library_url = "https://cdn.jsdelivr.net/npm/@scalar/api-reference" # config.page_title = "API Reference" # config.configuration = :demo end ``` -------------------------------- ### Configure Global Scalar Settings Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Use Scalar.setup in an initializer to configure global options like page title and library URL. The configuration persists across requests. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| # Set the browser tab title config.page_title = 'My API Documentation' # Use a specific Scalar version (defaults to latest) config.library_url = 'https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.25.0' # Configure the OpenAPI specification source config.configuration = { url: 'https://api.example.com/openapi.json', theme: 'purple' } end ``` -------------------------------- ### Configure Multiple API Documents Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Display multiple OpenAPI documents by providing an array of sources to `config.configuration`. Specify a default source using `default: true`. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.configuration = { sources: [ { title: 'Public API', url: '/openapi/public.json' }, { title: 'Internal API', url: '/openapi/internal.json', default: true }, { title: 'Legacy API', content: File.read(Rails.root.join('docs/legacy.yml')) } ] } end ``` -------------------------------- ### Configure Scalar with Demo Specification Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Set `config.configuration` to `:demo` to use the `@scalar/galaxy` specification for testing purposes. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.configuration = :demo end ``` -------------------------------- ### Configure Multiple API Documents with Different Themes Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Configure multiple OpenAPI documents, each with its own theme and default setting. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.configuration = [ { title: 'Public API', url: '/openapi/public.json', theme: 'purple' }, { title: 'Admin API', url: '/openapi/admin.json', theme: 'bluePlanet', default: true } ] end ``` -------------------------------- ### Full Configuration with Theme Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Configure Scalar with a page title, OpenAPI spec URL, and a specific theme. ```ruby # config/initializers/scalar.rb # Option 4: Full configuration with theme Scalar.setup do |config| config.page_title = 'Acme API Reference' config.configuration = { url: '/api/v1/openapi.json', theme: 'purple' # Options: default, alternate, moon, purple, solarized, bluePlanet, saturn, kepler, mars, deepSpace } end ``` -------------------------------- ### Configure Scalar API Sources Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Set up multiple OpenAPI document sources for the Scalar API reference. Each source can have a title, URL, and theme. The `default: true` option specifies which API to display initially. ```ruby Scalar.setup do |config| config.configuration = [ { title: 'Public API', url: '/openapi/public.json', theme: 'purple' }, { title: 'Internal API', url: '/openapi/internal.json', theme: 'bluePlanet', default: true } ] end ``` -------------------------------- ### Configure Scalar with OpenAPI URL Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Set the desired OpenAPI specification URL in `config/initializers/scalar.rb` using the `Scalar.setup` method and `config.configuration`. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.configuration = { url: 'https://example.com/openapi.json' } end ``` -------------------------------- ### Configure Multiple API Documents Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Configure Scalar to display multiple OpenAPI documents with a dropdown selector, defining sources with titles, URLs, and slugs. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.page_title = 'API Documentation Hub' config.configuration = { sources: [ { title: 'Public API', url: '/openapi/public.json', slug: 'public' # URL identifier: /docs#public }, { title: 'Internal API', url: '/openapi/internal.json', default: true # Show this document first }, { title: 'Legacy API', content: File.read(Rails.root.join('docs/legacy.yml')) } ] } end ``` -------------------------------- ### Configure Single OpenAPI Spec from URL Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Configure Scalar to load a single OpenAPI specification directly from a URL. ```ruby # config/initializers/scalar.rb # Option 1: Load specification from URL Scalar.setup do |config| config.configuration = { url: 'https://api.example.com/openapi.json' } end ``` -------------------------------- ### Set Scalar Configuration Options Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Configure global settings for the Scalar API reference, such as the page title and the URL for the Scalar library. You can also pass a hash of Scalar configuration options directly. ```ruby Scalar.setup do |config| config.configuration = { theme: 'purple', url: 'https://example.com/openapi.json' } end ``` -------------------------------- ### Configure Scalar with OpenAPI File Content Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Embed the content of your OpenAPI specification file directly into the configuration in `config/initializers/scalar.rb`. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.configuration = { content: File.read(Rails.root.join('docs/openapi.yml')) } end ``` -------------------------------- ### Mount Scalar::UI Middleware in Rack App Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Directly use Scalar::UI in any Rack-compatible application by mapping a route to the middleware. ```ruby # config.ru require 'scalar_ruby' Scalar.setup do |config| config.configuration = { url: '/openapi.json' } end map '/api-docs' do run Scalar::UI end ``` -------------------------------- ### Mount Scalar UI in Rails Routes Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Mount the Scalar::UI to your Rails application at a specified path in `config/routes.rb` to make the API reference accessible. ```ruby # config/routes.rb Rails.application.routes.draw do mount Scalar::UI, at: '/docs' ... end ``` -------------------------------- ### Mount Scalar::UI Middleware in Rails Source: https://context7.com/dmytroshevchuk/scalar_ruby/llms.txt Mount the Scalar::UI middleware at a specific route in your Rails application's routes file. ```ruby # config/routes.rb (Rails) Rails.application.routes.draw do mount Scalar::UI, at: '/docs' # Your other routes... end ``` -------------------------------- ### Add scalar_ruby Gem to Gemfile Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Add the scalar_ruby gem to your application's Gemfile to include it in your project. ```bash bundle add scalar_ruby ``` -------------------------------- ### Customize Scalar Page Title Source: https://github.com/dmytroshevchuk/scalar_ruby/blob/main/README.md Change the page title of the Scalar API reference by setting `config.page_title` within the `Scalar.setup` block in `config/initializers/scalar.rb`. ```ruby # config/initializers/scalar.rb Scalar.setup do |config| config.page_title = 'My awesome API!' end ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.