Sha256: 63b340ddd5ce787b5c7de504c689a59bf396f132e1dac2f1db34a3bd8c6c63d8

Contents?: true

Size: 576 Bytes

Versions: 6

Compression:

Stored size: 576 Bytes

Contents

module RubyPitaya

  class ServiceHolder

    def initialize
      @services = {}
    end

    def add(key, service)
      check_service_instance(service)
      @services[key] = service
    end

    def [](key)
      @services[key].client
    end

    def all_services
      @services.values
    end

    private

    def check_service_instance(service)
      raise not_a_service_message(service) unless service.is_a? ServiceBase
    end

    def not_a_service_message(service)
      "Service #{service.class} is not inheriting from RubyPitaya::ServiceBase"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rubypitaya-3.9.1 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.8.1 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.8.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.7.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.6.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.5.0 ./lib/rubypitaya/core/service_holder.rb