Sha256: 958efd041e8e3ce0a6968ca36a0f772b9186682d25535095074d1ed63b0b1777

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 KB

Contents

module Isomorfeus
  # available settings

  if RUBY_ENGINE == 'opal'
    add_client_option(:api_websocket_path)
  else
    # defaults
    class << self
      attr_accessor :api_websocket_path
      attr_accessor :middlewares

      def add_middleware(middleware)
        Isomorfeus.middlewares << middleware unless Isomorfeus.middlewares.include?(middleware)
      end

      def insert_middleware_after(existing_middleware, new_middleware)
        index_of_existing = Isomorfeus.middlewares.index(existing_middleware)
        unless Isomorfeus.middlewares.include?(new_middleware)
          if index_of_existing
            Isomorfeus.middlewares.insert(index_of_existing + 1, new_middleware)
          else
            Isomorfeus.middlewares << new_middleware
          end
        end
      end

      def insert_middleware_before(existing_middleware, new_middleware)
        index_of_existing = Isomorfeus.middlewares.index(existing_middleware)
        unless Isomorfeus.middlewares.include?(new_middleware)
          if index_of_existing
            Isomorfeus.middlewares.insert(index_of_existing, new_middleware)
          else
            Isomorfeus.middlewares << new_middleware
          end
        end
      end
    end
    self.middlewares = Set.new
  end

  self.api_websocket_path = '/isomorfeus/api/websocket'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
isomorfeus-transport-1.0.0.delta8 lib/isomorfeus/transport/config.rb
isomorfeus-transport-1.0.0.delta7 lib/isomorfeus/transport/config.rb