Giter Site home page Giter Site logo

basecamp's Introduction

Code Climate

Basecamp

This gem provides a simple wrapper for the Basecamp API (New, version 1) using OAuth authentication only. Currently it only supports functionality for Todos, TodoLists and Projects

Installation

Add this line to your application's Gemfile:

gem 'basecamp'

And then execute:

$ bundle

Or install it yourself as:

$ gem install basecamp

Usage

Rails

Add the following to a file in your config directory

Basecamp.configure do |c|
  c.client_id = <your basecamp client_id>
  c.client_secret = <your basecamp secret>
end

OAuth2

This gem uses OAuth2 exclusively for authentication. Basecamp periodically expires their tokens, and they must be refreshed to continue to gain access to the API. There are methods included to facilitate this.

Initialize a new OAuth2 instance
oauth = Basecamp::OAuth.new(:token => <the users token>, :refresh_token => <the users refresh token>)
Get an array of all accounts associated with this token
oauth.get_accounts
Request a new token from Basecamp
oauth.get_new_token

Client

The client object creates an instance of a Basecamp OAuth client and provides methods to get an array of todo lists and an array of projects associated with the users token

Initialize a new instance of the client
client = Basecamp::Client.new(:token => <the users token>, :account_id => <the basecamp account to access>)
Get an array of todo lists. Returns an array of Basecamp::Todolist objects
client.todolists
Get an array of projects. Returns an array of Basecamp::Project objects
client.projects

Contributing

  1. Fork it ( http://github.com/dphaener/basecamp/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

basecamp's People

Contributors

mattherick avatar

Watchers

 avatar James Cloos avatar

Forkers

hittail

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.