Campfire API interface powered by eventmachine, em-http-request and yajl-ruby.
require 'firering' print "Enter subdomain: "; subdomain = gets.chomp print "Enter user: " ; login = gets.chomp print "Enter password: " ; password = gets.chomp conn = Firering::Connection.new("http://#{subdomain}.campfirenow.com") do |c| c.login = login c.password = password c.max_retries = 10 # default to -1, which means perform connection retries on drop forever. end EM.run do conn.authenticate do |user| conn.rooms do |rooms| rooms.each do |room| if room.name == "Room Name" room.stream do |message| message.user { |user| puts "#{user}: #{message}" } end end end end end trap("INT") { EM.stop } end
The gem bundles an executable script for spawning libnotify powered notifications. To be able to use it, check your distro package repositories for the apropriate package containing the “notify-send” command line utility. In the case of archlinux, the package name is “libnotify”.
The script needs the following environment variables in place:
CAMPFIRE_SUBDOMAIN CAMPFIRE_TOKEN
Once the variables are set, run the script as follows:
campf-notify room-name /path/to/an/icon.png
And watch the lovely notifications each time something is posted to a room.
When the specs are run a process is forked where a Rack application is run. This rack application serves all the fixtured responses that mimic the working of the real campfire app. The only caveat here is you may get a conflict if you are already running something on the port (8909). If this happens you’ll need to open the specs/spec_helper.rb file and change the port used to run the fixtures server.
For more details take a look at spec/fixtures/load_server.rb file.
-
Better API documentation
-
Post files to a room
-
Retrieve recently uploaded files
-
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.
-
indirect (Andre Arko), github.com/EmmanuelOga/firering/pull/1 ,
https://github.com/EmmanuelOga/firering/pull/2 , https://github.com/EmmanuelOga/firering/pull/3
-
caius (Caius Durling), github.com/EmmanuelOga/firering/pull/5
Copyright © 2010 Emmanuel Oga. See LICENSE for details.