Home > smoodit

smoodit

Smoodit is a project mainly written in RUBY and JAVASCRIPT, based on the MIT license.

Smood it API Ruby library

The Smood it Ruby gem

A Ruby wrapper for the Smood it REST API.

Documentation

The full Smood it API reference could be found at http://smood.it/api.

Installation

gem install smoodit

Follow @smoodit on Twitter

You should follow @smoodit on Twitter for announcements, updates, and news about the smoodit gem.

Example app

Start hacking the Smood it platform forking this example app: https://github.com/potomak/smoodit-example.

Usage examples

require "rubygems"
require "smoodit"

# Certain methods require authentication. To get your Smood it OAuth credentials,
# register an app at http://smood.it/oauth_clients/new
Smoodit.configure do |config|
  config.consumer_key = YOUR_CONSUMER_KEY
  config.consumer_secret = YOUR_CONSUMER_SECRET
  config.oauth_token = YOUR_OAUTH_TOKEN
  config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end

# Get informations about your profile
Smoodit.profile do |me|
  puts me.name
end

# Get informations about giovanni's profile
Smoodit.giovanni do |giovanni|
  puts giovanni.name
end

# Get giovanni's followers
Smoodit.giovanni.followers do |response|
  response.followers.each do |smooder|
    puts smooder.name
  end
end

# Get giovanni's following
Smoodit.giovanni.following do |response|
  response.following.each do |smooder|
    puts smooder.name
  end
end

# Follow giovanni
Smoodit.giovanni do |giovanni|
  Smoodit.users(giovanni.id).follow.post do |response, status|
    if status == 201 # created
      puts "you don't follow giovanni anymore"
    else
      puts "an error has occurred"
    end
  end
end

# Unfollow giovanni
Smoodit.giovanni do |giovanni|
  Smoodit.users(giovanni.id).unfollow.post do |response, status|
    if status == 204 # no content
      puts "you don't follow giovanni anymore"
    else
      puts "an error has occurred"
    end
  end
end

# Get your smoods
Smoodit.profile.smoods do |response|
  response.smoods.each do |smood|
    puts smood.mood
  end
end

# Get giovanni's smoods
Smoodit.giovanni.smoods do |response|
  response.smoods.each do |smood|
    puts smood.mood
  end
end

# Create a new smood
Smoodit.smoods.post(:smood => {:mood => :joy}) do |response, status|
  if status == 201 # created
    puts "you've smooded"
  else
    puts "an error has occurred"
  end
end

# Delete smood
smood_id = 123
Smoodit.smoods(smood_id).delete do |response, status|
  if status == 204 # no content
    puts "you've smooded"
  else
    puts "an error has occurred"
  end
end

Contributing

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

  • by using alpha, beta, and prerelease versions
  • by reporting bugs
  • by suggesting new features
  • by writing or editing documentation
  • by writing specifications
  • by writing code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace)
  • by refactoring code
  • by closing issues
  • by reviewing patches

All contributors will be added to the HISTORY file and will receive the respect and gratitude of the community.

Submitting an issue

We use the GitHub issue tracker to track bugs and features. Before submitting a bug report or feature request, check to make sure it hasn't already been submitted. You can indicate support for an existing issuse by voting it up. When submitting a bug report, please include a Gist that includes a stack trace and any details that may be necessary to reproduce the bug, including your gem version, Ruby version, and operating system. Ideally, a bug report should include a pull request with failing specs.

Submitting a pull request

  1. Fork the project.
  2. Create a topic branch.
  3. Implement your feature or bug fix.
  4. Add documentation for your feature or bug fix.
  5. Run bundle exec rake doc:yard. If your changes are not 100% documented, go back to step 4.
  6. Add specs for your feature or bug fix.
  7. Run bundle exec rake spec. If your changes are not 100% covered, go back to step 6.
  8. Commit and push your changes.
  9. Submit a pull request. Please do not include changes to the gemspec, version, or history file. (If you want to create your own version for some reason, please do so in a separate commit.)

Copyright

Copyright (c) 2010 Giovanni Cappellotto. See LICENSE for details.

Previous:smoodit-example