Sha256: 37d90a15ef5b58b8c06ed282fd61cff3e4ffe476ed6ad11fa87cd896b3ca8c3c

Contents?: true

Size: 633 Bytes

Versions: 31

Compression:

Stored size: 633 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 has?(key)
      @services.has_key?(key)
    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

31 entries across 27 versions & 1 rubygems

Version Path
rubypitaya-3.19.6 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.19.5 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.19.4 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.19.3 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.19.2 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.19.1 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.19.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.18.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.17.2 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.17.1 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.17.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.16.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.15.3 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.15.2 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.15.1 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.15.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.14.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.13.1 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.13.0 ./lib/rubypitaya/core/service_holder.rb
rubypitaya-3.12.5 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rubypitaya-3.12.1/lib/rubypitaya/core/service_holder.rb