Sha256: 422d38b49dc605763674614340acf09b20109b39757a19c5bfe7e4f6d91f8903
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
require 'dry/core/constants' require 'dry-equalizer' require 'dry-container' require 'dry-types' Dry::Types.load_extensions(:maybe) module Types include Dry::Types.module include Dry::Core::Constants class << self # @param key [String, Symbol] # @return [Class] def [](key) Dry::Types[key] end # @param key [String, Symbol] # @return [Class] def key?(key) Dry::Types.container.key?(key) end # Container used to store validation types and domain entities # # @return Dry::Container def container Dry::Types.container end # Register a dependency that can be used for injection # # @param key [String, Symbol] # @param klass [Class] # @return def register(key, klass) container.register(key, klass) end def register_domain(klass, opts = {}) unless klass.respond_to?(:domain_name) fail "Domain must be a Appfuel::Entity or respond to :domain_name" end name = opts.key?(:as) ? opt[:as] : klass.domain_name p name return if key?(name) && self[name] == klass register(name, klass) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
appfuel-0.2.3 | lib/appfuel/types.rb |
appfuel-0.2.2.pre.alpha.pre.140 | lib/appfuel/types.rb |
appfuel-0.2.0 | lib/appfuel/types.rb |