Class: Class

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

Instance Method Summary collapse

Instance Method Details

#dependency(*obj_key) ⇒ Object

Specify a dependency required by a class. This will create an attribute for the required dependency that will be populated by the ioc container.

Example:

>> dependency :registered_object_symbol

Arguments:

key:  (Symbol)


172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/sinject.rb', line 172

def dependency(*obj_key)
  obj_key.each do |k|

    self.send(:define_method, k) do
      val = self.instance_variable_get("@#{k}")
      if(val == nil)
        val = SinjectContainer.instance.get(k)
        self.instance_variable_set("@#{k}", val)
      end
      val
    end

  end
end