Sha256: efb74a3d6c0d7717e46a021824d0880009d923f9a26496d5b05c5f4231ef9780

Contents?: true

Size: 641 Bytes

Versions: 7

Compression:

Stored size: 641 Bytes

Contents

require 'dependency_injection/container'
require 'dependency_injection/loaders/yaml'

c = DependencyInjection::Container.new
loader = DependencyInjection::Loaders::Yaml.new(c)
loader.load(File.join(File.dirname(File.expand_path(__FILE__)), 'configurator_usage.yml'))

class MailerConfigurator
  def initialize(transport)
    @transport = transport
  end

  def configure(mailer)
    mailer.transport = @transport
  end
end

class Mailer
  attr_accessor :transport

  def send_mail(message)
    puts "mail sent via #{self.transport}: #{message}"
  end
end

c.get('my.mailer').send_mail('Hello World')
#    mail sent via sendmail: Hello World

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dependency_injection-0.4.3 examples/configurator_usage.rb
dependency_injection-0.4.2 examples/configurator_usage.rb
dependency_injection-0.4.1 examples/configurator_usage.rb
dependency_injection-0.4.0 examples/configurator_usage.rb
dependency_injection-0.3.1 examples/configurator_usage.rb
dependency_injection-0.3.0 examples/configurator_usage.rb
dependency_injection-0.2.0 examples/configurator_usage.rb