/dry-system-hanami

Folder resolver for dry-system in hanami projects

Primary LanguageRubyMIT LicenseMIT

Dry::System::Hanami

Some magic stuff for autoload folders to dry-system in hanami projects.

Installation

Add this line to your application's Gemfile:

gem 'dry-system-hanami'

And then execute:

$ bundle

Or install it yourself as:

$ gem install dry-system-hanami

Usage

register_folder!

You can regitser full folder to your container:

require 'dry/system/container'
require 'dry/system/hanami'

class Container < Dry::System::Container
  extend Dry::System::Hanami::Resolver

  register_folder! 'project_name/repositories'
  # or with custom resolver
  register_folder! 'project_name/matchers', resolver: ->(k) { k }

  configure
end

register_file!

You can regitser specific file to your container:

require 'dry/system/container'
require 'dry/system/hanami'

class Container < Dry::System::Container
  extend Dry::System::Hanami::Resolver

  register_file! 'project_name/repositories/users'
  # or with custom resolver
  register_file! 'project_name/matchers/git_host', resolver: ->(k) { k }

  configure
end

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Dry::System::Hanami project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.