Project

jaconda

0.01
No commit activity in last 3 years
No release in over 3 years
The official ruby wrapper for Jaconda API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Jaconda API

The official ruby wrapper for working with the Jaconda REST API's JSON interface.

Installation

gem install jaconda

Requirements

ActiveResource

Usage

Sending notifications

Jaconda::Notification.authenticate(:subdomain => "JACONDA_SUBDOMAIN",
                                   :room_id => "ROOM_ID",
                                   :room_token => "ROOM_TOKEN")

Jaconda::Notification.notify(:text => "146 tests, 1399 assertions, 0 failures, 0 errors",
                             :sender_name => "Build Server")

Using API

Jaconda::API.authenticate(:subdomain => "JACONDA_SUBDOMAIN",
                          :token => "API_TOKEN")

Jaconda::API.authenticate(:subdomain => "JACONDA_SUBDOMAIN",
                          :email => "EMAIL",
                          :password => "PASSWORD")

Finding rooms

Jaconda::API::Room.find(:all)
Jaconda::API::Room.find("support")

Finding who's available in the room

room = Jaconda::API::Room.find("support")
room.available_users

Finding who has access to the room

room = Jaconda::API::Room.find("support")
room.presences

Creating a Room

Jaconda::API::Room.create(:jid => "awesome.project",
                          :title => "Awesome Project Room")

Updating a Room

room = Jaconda::API::Room.find("support")
room.topic = "Deadline: 3 apr"
room.save

Finding messages

room = Jaconda::API::Room.find("support")
room.messages
room.messages(:page => 2)

Jaconda::API::Message.find(:all, :params => { :room_id => "support",
                                              :per_page => 100,
                                              :page => 2 })

Finding messages on date

room = Jaconda::API::Room.find("support")
room.transcript
room.transcript(:date => Date.yesterday)

Jaconda::API::Message.transcript(:room_id => "support",
                                 :date => Date.today - 1.month)

Searching for messages

room = Jaconda::API::Room.find("support")
room.search(:text => "bug")
room.search(:text => "commit", :per_page => 5)

Jaconda::API::Message.search(:room_id => "support",
                             :text => "issue",
                             :page => 2)

Saying something

Jaconda::API::Message.create(:room_id => "support",
                             :text => "Hello from the API!")

Jaconda::API::Message.create(:room_id => "support",
                             :text => "is loving Jaconda!",
                             :kind => "me")

Jaconda::API::Message.create(:room_id => "support",
                             :text => "Hello from the API!",
                             :kind => "voice")

Finding members

Jaconda::API::Member.find(:all)
Jaconda::API::Member.find(123)

Inviting new member

Jaconda::API::Member.create(:name => "Anton",
                            :email => "developer@gmail.com")

Finding uploads

room = Jaconda::API::Room.find("support")
room.uploads

member = Jaconda::API::Member.find(123)
member.uploads