KO
|
EN
gitlite — search
Search
#python
#java
#python3
#arduino
#golang
#machine-learning
#rust
#html
#flask
#javascript
#seismology
#nodejs
firering
★ 21
Open GitHub ↗
Eventmachine powered Campfire API
Download README (.md)
Explore Similar Repositories
gevent-db
:
gevent cooperative database pool
Slide-Downloader
:
Download slides from Slideshare, Baidu Wenku and Docin
yum-plugin-replace
:
Package Replacement Plugin for Yum
Dahlia
:
Retreat waiting list management system
rubymine-stellar-theme
:
Stellar theme / colors scheme for RubyMine
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
firering
?
Download (.md)
# firering Campfire API interface powered by eventmachine, em-http-request and yajl-ruby. ## Sample code ```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 ``` ## Specifying connection options: An user agent can be specified. HTTP Options correspond to [EM::HTTPRequest options](https://github.com/igrigorik/em-http-request/wiki/Issuing-Requests): ```ruby conn = Firering::Connection.new("http://#{subdomain}.campfirenow.com") do |conn| conn.user_agent = "My Cool App 1.0" conn.http_options = { proxy: { host: url, port: port, authorization: [username, password] } } end ``` ## campf-notif 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. ## Running the specs 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. ## TODO * Better API documentation * Post files to a room * Retrieve recently uploaded files ## 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. ## Contributors See https://github.com/EmmanuelOga/firering/graphs/contributors ## Copyright Copyright (c) 2013 Emmanuel Oga. See LICENSE for details.