0.0
No commit activity in last 3 years
No release in over 3 years
A Ruby library for talking to the Dopplr API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 1.1.5
 Project Readme

dopplr

An abstraction library providing objects to interact with the Dopplr API. It is essentially a multi-user wrapper with each object being bound to a client. The current master is organically changing with the new API specification, and so it may be unstable. Please refer to the authsub tag for the old API (dopplr 0.2.0).

Install

gem install dopplr

Usage

Here are some examples of how to use a few of the objects available. For a full reference, you need to read the tests and source code for now, at least until the Dopplr API spec is finalized.

Dopplr::OAuth

Create a Dopplr::OAuth instance with your consumer token and secret. Authorize the client using your access token, provided that you've already obtained one. Create a Dopplr::Base instance using the authorized OAuth client.

client = Dopplr::OAuth.new('1a2b3c4d5e', '2a3b4c5d6e')
client.authorize_from_access('3a4b5c6d7e', '4a5b6c7d8e')

dopplr = Dopplr::Base.new(client)

Dopplr::Base

Dopplr::Base is used for searching, creating, and chaining objects. However, you could also instantiate and use the objects directly by passing the client as an argument. As such, the following groups of statements are equivalent.

dopplr.city(4887398)                        #=> Dopplr::City for ID 4887398
dopplr.traveller('jonsmith')                #=> Dopplr::Traveller for 'jonsmith'

Dopplr::City.new(client, 4887398)           #=> Dopplr::City for ID 4887398
Dopplr::Traveller.new(client, 'jonsmith')   #=> Dopplr::Traveller for 'jonsmith'

Dopplr::Base is also used for adding some of the high level objects such as places that you've been and trips you've taken.

dopplr.add_place(
  'kj41',
  :note => 'Central Park is notably the most-visited urban park in the US.',
  :vote => 'liked'
)

dopplr.add_trip(
  5746545,
  :start => '2010-01-15',
  :finish => '2010-02-01',
  :outgoing_transport_type => 'plane'
)

Dopplr::City

chicago = dopplr.city(4887398)

chicago.country        #=> 'United States'
chicago.timezone       #=> 'America/Chicago'
chicago.localtime      #=> Wed Jul 22 09:30:15 2009
chicago.url            #=> 'http://www.dopplr.com/place/us/il/chicago'
chicago.latitude       #=> 41.85
chicago.longitude      #=> -87.6501

Dopplr::Traveller

jon = dopplr.traveller('jonsmith')

jon.surname       #=> 'Smith'
jon.muted         #=> false
jon.places        #=> [#<Dopplr::TravellerPlace:0x56f4a0 ...>, ...]

jon.fellow        # Shares the trips of the logged-in user with that traveller
jon.mute          # Mutes that traveller

Dopplr::Place

place = dopplr.place('kj41')

place.kind                  #=> 'explore'
place.green_blocks          #=> 5
place.vote                  #=> 'liked'
place.tags                  #=> ['NYC','park','walk']

place.report('complaint')   # Report a complaint about that place