Sha256: ae4cb9db339440620b84a77b86446044b6aaae9f5317fa2de23d03a29da4fa12

Contents?: true

Size: 681 Bytes

Versions: 1

Compression:

Stored size: 681 Bytes

Contents

require 'rubygems'
require 'eventmachine'

require 'proxymachine/client_connection'
require 'proxymachine/server_connection'

class ProxyMachine
  def self.log(str)
    puts str if false
  end

  def self.incr
    @@counter ||= 0
    @@counter += 1
    log @@counter
  end

  def self.decr
    @@counter ||= 0
    @@counter -= 1
    log @@counter
  end

  def self.set_router(block)
    @@router = block
  end

  def self.router
    @@router
  end

  def self.run(host, port)
    EM.kqueue
    EM.epoll

    EM.run do
      EventMachine::Protocols::ClientConnection.start(host, port)
    end
  end
end

module Kernel
  def proxy(&block)
    ProxyMachine.set_router(block)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mojombo-proxymachine-0.1.0 lib/proxymachine.rb