Rack::Smoke allows you to expose Smoke sources and transcode them into JSON, XML or YAML.
What are the benefits?
- Pluggable caching, cache remote web services and rely on your own infrastructure
- Join Smoke sources together, reinterpret them, then offer them as a simple web service
Smoke allows you to take single serve sources from around the web. Then it does a bunch of smart stuff like automagically transferring as gzip, request caching and understands the content that it gets back. YQL, Atom / RSS feeds, json and xml are all converted to ruby arrays.
Smoke-rack allows you to transcode that information and provide an API like layer of your own.
How do I include it in my project?
# config.ru require 'rubygems' # Ensure your app has some Smoke sources require 'your-app' require 'rack-smoke' use Rack::Smoke run Sinatra::Application
Then navigate to localhost:PORT/smoke to get a list of available sources
gem install rack-smoke
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
Copyright (c) 2010 Ben Schwarz. See LICENSE for details.