MatUrbanski / todo_api

JSON API for todo project built with Roda + Sequel. Source code for "Ruby on Roda" book.
19 stars 4 forks source link

Bump dry-system from 0.18.1 to 0.19.0 #1

Closed dependabot[bot] closed 3 years ago

dependabot[bot] commented 3 years ago

Bumps dry-system from 0.18.1 to 0.19.0.

Release notes

Sourced from dry-system's releases.

v0.19.0

This release marks a huge step forward for dry-system, bringing support for Zeitwerk and other autoloaders, plus clearer configuration and improved consistency around component resolution for both finalized and lazy loading containers. Read the announcement post for a high-level tour of the new features.

Added

  • New component_dirs setting on Dry::System::Container, which must be used for specifying the directories which dry-system will search for component source files.

    Each added component dir is relative to the container's root, and can have its own set of settings configured:

    class MyApp::Container < Dry::System::Container
      configure do |config|
        config.root = __dir__
    
    # Defaults for all component dirs can be configured separately
    config.component_dirs.auto_register = true # default is already true
    
    # Component dirs can be added and configured independently
    config.component_dirs.add &quot;lib&quot; do |dir|
      dir.add_to_load_path = true # defaults to true
      dir.default_namespace = &quot;my_app&quot;
    end
    
    # All component dir settings are optional. Component dirs relying on default
    # settings can be added like so:
    config.component_dirs.add &quot;custom_components&quot;
    

    end end

    The following settings are available for configuring added component_dirs:

    • auto_register, a boolean, or a proc accepting a Dry::System::Component instance and returning a truthy or falsey value. Providing a proc allows an auto-registration policy to apply on a per-component basis
    • add_to_load_path, a boolean
    • default_namespace, a string representing the leading namespace segments to be stripped from the component's identifier (given the identifier is derived from the component's fully qualified class name)
    • loader, a custom replacement for the default Dry::System::Loader to be used for the component dir
    • memoize, a boolean, to enable/disable memoizing all components in the directory, or a proc accepting a Dry::System::Component instance and returning a truthy or falsey value. Providing a proc allows a memoization policy to apply on a per-component basis

    All component dir settings are optional.

    (@​timriley in #155, #157, and #162)

  • A new autoloading-friendly Dry::System::Loader::Autoloading is available, which is tested to work with Zeitwerk 🎉

    Configure this on the container (via a component dir loader setting), and the loader will no longer require any components, instead allowing missing constant resolution to trigger the loading of the required file.

    This loader presumes an autoloading system like Zeitwerk has already been enabled and appropriately configured.

    A recommended setup is as follows:

... (truncated)

Changelog

Sourced from dry-system's changelog.

0.19.0 2021-04-22

This release marks a huge step forward for dry-system, bringing support for Zeitwerk and other autoloaders, plus clearer configuration and improved consistency around component resolution for both finalized and lazy loading containers. Read the announcement post for a high-level tour of the new features.

Added

  • New component_dirs setting on Dry::System::Container, which must be used for specifying the directories which dry-system will search for component source files.

    Each added component dir is relative to the container's root, and can have its own set of settings configured:

    class MyApp::Container < Dry::System::Container
      configure do |config|
        config.root = __dir__
    
    # Defaults for all component dirs can be configured separately
    config.component_dirs.auto_register = true # default is already true
    
    # Component dirs can be added and configured independently
    config.component_dirs.add &quot;lib&quot; do |dir|
      dir.add_to_load_path = true # defaults to true
      dir.default_namespace = &quot;my_app&quot;
    end
    
    # All component dir settings are optional. Component dirs relying on default
    # settings can be added like so:
    config.component_dirs.add &quot;custom_components&quot;
    

    end end

    The following settings are available for configuring added component_dirs:

    • auto_register, a boolean, or a proc accepting a Dry::System::Component instance and returning a truthy or falsey value. Providing a proc allows an auto-registration policy to apply on a per-component basis
    • add_to_load_path, a boolean
    • default_namespace, a string representing the leading namespace segments to be stripped from the component's identifier (given the identifier is derived from the component's fully qualified class name)
    • loader, a custom replacement for the default Dry::System::Loader to be used for the component dir
    • memoize, a boolean, to enable/disable memoizing all components in the directory, or a proc accepting a Dry::System::Component instance and returning a truthy or falsey value. Providing a proc allows a memoization policy to apply on a per-component basis

    All component dir settings are optional.

    (@​timriley in #155, #157, and #162)

  • A new autoloading-friendly Dry::System::Loader::Autoloading is available, which is tested to work with Zeitwerk 🎉

    Configure this on the container (via a component dir loader setting), and the loader will no longer require any components, instead allowing missing constant resolution to trigger the loading of the required file.

    This loader presumes an autoloading system like Zeitwerk has already been enabled and appropriately configured.

    A recommended setup is as follows:

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 3 years ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.