Sha256: d59b09092079767d73fedc8c3ceb55f596f1721526a05bb30e0404e7855689d5
Contents?: true
Size: 494 Bytes
Versions: 1
Compression:
Stored size: 494 Bytes
Contents
require "dry-initializer" require "rails" # Define a dispatcher for `:model` and `:find_by` options rails_dispatcher = lambda do |model: nil, find_by: :id, **options| return options unless model model = model.constantize if model.is_a? String coercer = lambda do |value| return value if value.nil? || value.instance_of?(model) model.find_by! find_by => value end options.merge(type: coercer) end # Register a dispatcher Dry::Initializer::Dispatchers << rails_dispatcher
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-initializer-rails-3.0.0 | lib/dry/initializer/rails.rb |