Class: ActiveDryDeps::Dependency
- Inherits:
-
Object
- Object
- ActiveDryDeps::Dependency
- Defined in:
- lib/active_dry_deps/dependency.rb
Constant Summary collapse
- VALID_CONST_NAME =
/^[[:upper:]][[[:alnum:]]:_]*$/- VALID_METHOD_NAME =
/^[[[:alnum:]]_]+$/- LOWER =
/[[:lower:]]/- METHODS_AS_KLASS =
%w[perform_later call].freeze
- METHOD_TEMPLATES =
{ { container: true, method_call: true } => <<~RUBY, { container: true, method_call: false } => <<~RUBY, { container: false, method_call: true } => <<~RUBY, { container: false, method_call: false } => <<~RUBY, }.freeze
Instance Attribute Summary collapse
-
#const_name ⇒ Object
readonly
Returns the value of attribute const_name.
-
#container_key ⇒ Object
readonly
Returns the value of attribute container_key.
-
#method_name ⇒ Object
readonly
Returns the value of attribute method_name.
-
#receiver_method_name ⇒ Object
readonly
Returns the value of attribute receiver_method_name.
Instance Method Summary collapse
-
#initialize(resolver, receiver_method_alias: nil) ⇒ Dependency
constructor
A new instance of Dependency.
- #receiver_method_string ⇒ Object
Constructor Details
#initialize(resolver, receiver_method_alias: nil) ⇒ Dependency
Returns a new instance of Dependency.
8 9 10 |
# File 'lib/active_dry_deps/dependency.rb', line 8 def initialize(resolver, receiver_method_alias: nil) parse_resolver(resolver, receiver_method_alias: receiver_method_alias) end |
Instance Attribute Details
#const_name ⇒ Object (readonly)
Returns the value of attribute const_name.
6 7 8 |
# File 'lib/active_dry_deps/dependency.rb', line 6 def const_name @const_name end |
#container_key ⇒ Object (readonly)
Returns the value of attribute container_key.
6 7 8 |
# File 'lib/active_dry_deps/dependency.rb', line 6 def container_key @container_key end |
#method_name ⇒ Object (readonly)
Returns the value of attribute method_name.
6 7 8 |
# File 'lib/active_dry_deps/dependency.rb', line 6 def method_name @method_name end |
#receiver_method_name ⇒ Object (readonly)
Returns the value of attribute receiver_method_name.
6 7 8 |
# File 'lib/active_dry_deps/dependency.rb', line 6 def receiver_method_name @receiver_method_name end |
Instance Method Details
#receiver_method_string ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/active_dry_deps/dependency.rb', line 13 def receiver_method_string Kernel.sprintf( METHOD_TEMPLATES.fetch(container: true, method_call: !@method_name.nil?), receiver_method_name: @receiver_method_name, container_key: @container_key || @const_name, # @const_name fallback for stub constant in test const_name: @const_name || dependency_not_registered_error_string, method_name: @method_name, ) end |