Sha256: 72143762e53314183465430f6c5b32860b283e97a018bcd058109e8a4dfd7d77

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

if defined? ActionDispatch::Routing

  module ActionDispatch::Routing
    class Mapper

      def faye_server(mount_path, options={}, &block)

        defaults = {
          :mount => mount_path||'/faye',
          :timeout => 25,
          :engine => nil,
          :server => 'thin'
        }

        unknown_options = options.keys - defaults.keys
        if unknown_options.one?
          raise ArgumentError, "Unknown option: #{unknown_options.first}."
        elsif unknown_options.any?
          raise ArgumentError, "Unknown options: #{unknown_options * ", "}."
        end

        options = defaults.merge(options)

        Faye::WebSocket.load_adapter(options.delete(:server))

        adapter = FayeRails::RackAdapter.new(options)
        adapter.instance_eval(&block) if block.respond_to? :call

        match options[:mount] => adapter

      end

    end
  end

end

if defined? Rails::Application::RoutesReloader

  class Rails::Application::RoutesReloader

    def clear_with_faye_servers!
      FayeRails.servers.clear!
      clear_without_faye_servers!
    end

    alias_method_chain :clear!, :faye_servers

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
faye-rails-1.0.3 lib/faye-rails/routing_hooks.rb
faye-rails-1.0.2 lib/faye-rails/routing_hooks.rb
faye-rails-1.0.1 lib/faye-rails/routing_hooks.rb
faye-rails-1.0.0 lib/faye-rails/routing_hooks.rb