Class: Codependent::Injectable

Inherits:
Object
  • Object
show all
Defined in:
lib/codependent/injectable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, dependencies, state, resolver) ⇒ Injectable

Returns a new instance of Injectable.



3
4
5
6
7
8
9
# File 'lib/codependent/injectable.rb', line 3

def initialize(type, dependencies, state, resolver)
  @type = type
  @dependencies = dependencies
  @state = state
  @resolver = resolver
  @singleton_value = nil
end

Instance Attribute Details

#dependenciesObject (readonly)

Returns the value of attribute dependencies.



11
12
13
# File 'lib/codependent/injectable.rb', line 11

def dependencies
  @dependencies
end

#resolverObject (readonly)

Returns the value of attribute resolver.



11
12
13
# File 'lib/codependent/injectable.rb', line 11

def resolver
  @resolver
end

#stateObject (readonly)

Returns the value of attribute state.



11
12
13
# File 'lib/codependent/injectable.rb', line 11

def state
  @state
end

Instance Method Details

#depends_on?(dependency_id) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/codependent/injectable.rb', line 13

def depends_on?(dependency_id)
  @dependencies.include?(dependency_id)
end

#instance?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/codependent/injectable.rb', line 21

def instance?
  @type == :instance
end

#singleton?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/codependent/injectable.rb', line 17

def singleton?
  @type == :singleton
end

#value(dependencies) ⇒ Object



25
26
27
# File 'lib/codependent/injectable.rb', line 25

def value(dependencies)
  singleton? ? singleton_value(dependencies) : instance_value(dependencies)
end