Class: Low::Dependency

Inherits:
Expressions::Expression
  • Object
show all
Defined in:
lib/expressions/dependency.rb

Overview

A Dependency Expression requires LowType in order to be injected via a constructor. See “Dependencies” for traditional dependency injection without LowType.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(provider_key: nil, var_name: nil) ⇒ Dependency

Returns a new instance of Dependency.



11
12
13
14
15
16
# File 'lib/expressions/dependency.rb', line 11

def initialize(provider_key: nil, var_name: nil)
  super()

  @provider_key = provider_key || var_name
  @var_name = var_name
end

Instance Attribute Details

#provider_keyObject (readonly)

Returns the value of attribute provider_key.



9
10
11
# File 'lib/expressions/dependency.rb', line 9

def provider_key
  @provider_key
end

#var_nameObject (readonly)

Returns the value of attribute var_name.



9
10
11
# File 'lib/expressions/dependency.rb', line 9

def var_name
  @var_name
end

Instance Method Details

#default_valueObject

Inject dependency via LowType’s default value.



23
24
25
# File 'lib/expressions/dependency.rb', line 23

def default_value
  Providers[@provider_key]
end

#required?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/expressions/dependency.rb', line 18

def required?
  false
end

#validate!(value:, proxy:) ⇒ Object

Ignore LowType’s validation of arguments of type Dependency.



28
# File 'lib/expressions/dependency.rb', line 28

def validate!(value:, proxy:); end