Sha256: 62508c065c2efd0011f1fd46564df56eaa85d25e55b77985aeff3f09214aa41b

Contents?: true

Size: 425 Bytes

Versions: 1

Compression:

Stored size: 425 Bytes

Contents

require "morphine/version"

module Morphine
  def self.included(base)
    base.extend ClassMethods
  end

  def dependencies
    @dependencies ||= {}
  end

  module ClassMethods
    def register(name, &block)
      define_method name do |*args|
        dependencies[name] ||= instance_exec(*args,&block)
      end

      define_method "#{name}=" do |service|
        dependencies[name] = service
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
morphine-0.1.1 lib/morphine.rb