public
Description: WaseEndpoint is a library for building daemons that act as WASE Endpoints for the EngineYard Wase competition: http://bit.ly/3qRMbv
Homepage:
Clone URL: git://github.com/dougal/wase_endpoint.git
name age message
file .gitignore Loading commit data...
file README.rdoc
file Rakefile Thu Nov 05 05:24:22 -0800 2009 Initial commit. [dougal]
file VERSION
directory example/
directory lib/
directory spec/
file wase_endpoint.gemspec
README.rdoc

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. dougal.s@gmail.com

Credits

Douglas F Shearer - douglasfshearer.com