WaseEndpoint

WaseEndpoint is a library for building daemons that act as WASE Endpoints for the EngineYard Wase competition: bit.ly/3qRMbv

Install

WaseEndpoint is hosted by gemcutter.com. Please make sure you have added them to your gem sources.

$ sudo gem install wase_endpoint

Usage

The following are all in the example directory.

Your endpoint logic:

# example/my_endpoint.rb

require 'rubygems'
require 'wase_endpoint'

class MyEndpoint < WaseEndpoint

  # This where our logic goes.
  # A json encoded String is the only argument. You can deal with this however
  # you want. The JSON library is already loaded should you wish to use it.
  # Return another String, or a Hash containing the String and the program
  # counter increment you wish to use.
  def secret_sauce(raw_json)

    # Just pass it back. Program counter increment will be 1.
    raw_json

    # Or pass it back with a custom program counter.
    # { :data => raw_json, :increment => 2}
  end

end

The init file:

# example/init.rb

require 'my_endpoint'

MyEndpoint.new( :username => 'twitter_username',
                :password => 'twitter_password',
                :logfile => 'my_endpoint.log',
                :sleep_period => 60 )

Now running the init file will start your daemon. The PID will be returned to allow you to monitor it or kill it later.

ruby init.rb

That’s it! I also included a basic sinatra server in ‘server.rb’ that can be used as an input/output/program-listing node.

Problems, Comments, Suggestions?

Issues can be tracked on github: github.com/dougal/wase_endpoint/issues

All of the above are most welcome. [email protected]

Credits

Douglas F Shearer - douglasfshearer.com