Coder Social home page Coder Social logo

digideskio / www-delicious Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weppos/www-delicious

0.0 1.0 0.0 634 KB

Ruby client for delicious.com API.

Home Page: https://simonecarletti.com/code/www-delicious

License: MIT License

Ruby 100.00%

www-delicious's Introduction

WWW::Delicious

WWW::Delicious is a Ruby client for delicious.com XML API.

Build Status

WWW::Delicious maps all the original delicious.com API calls and provides some additional convenient methods to perform common tasks. For a full API overview, visit the official Delicious API documentation.

WWW::Delicious is compatible with all delicious.com API constraints, including the requirement to set a valid user agent or wait at least one second between queries.

Requirements

  • Ruby >= 1.8.6 or Ruby 1.9.x

Installation

The best way to install WWW::Delicious is via RubyGems.

$ gem install www-delicious

You might need administrator privileges on your system to install the gem.

Getting Started

In order to use this library you need a valid Delicious account. Go to http://delicious.com and register for a new account if you don't already have one.

Then create a valid instance of WWW::Delicious providing your account credentials.

require 'www/delicious'

# create a new instance with given username and password
d = WWW::Delicious.new('username', 'password')

Now you can use your instance to interact with the API interface.

Last account update

The following example show you how to get the last account update Time.

time = d.update # => Fri May 02 18:02:48 UTC 2008

Reading Posts

You can fetch your posts in 3 different ways:

# 1. get all posts
posts = d.posts_all

# 2. get recent posts
posts = d.posts_recent

# 3. get a single post (the latest one if no criteria is given)
posts = d.posts_get(:tag => 'ruby')

Each post call accepts some options to refine your search. For example, you can always search for posts matching a specific tag.

posts = d.posts_all(:tag => 'ruby')
posts = d.posts_recent(:tag => 'ruby')
posts = d.posts_get(:tag => 'ruby')

Creating a new Post

# add a post from options
d.posts_add(:url => 'http://www.simonecarletti.com/', :title => 'Cool site!')

# add a post from WWW::Delicious::Post
d.posts_add(WWW::Delicious::Post.new(:url => 'http://www.simonecarletti.com/', :title => 'Cool site!'))

Deleting a Posts

# delete given post (the URL can be either a string or an URI)
d.posts_delete('http://www.foobar.com/')

Note. Actually you cannot delete a post from a WWW::Delicious::Post instance. It means, the following example doesn't work as some ActiveRecord user might expect.

post = WWW::Delicious::Post.new(:url => 'http://www.foobar.com/')
post.delete

This feature is already in the TODO list. For now, use the following workaround to delete a given Post.

# delete a post from an existing post = WWW::Delicious::Post
d.posts_delete(post.url)

Tags

Working with tags it's really easy. You can get all your tags or rename an existing tag.

# get all tags
tags = d.tags_get

# print all tag names
tags.each { |t| puts t.name }

# rename the tag gems to gem
d.tags_rename('gems', 'gem')

Bundles

WWW::Delicious enables you to get all bundles from given account.

# get all bundles
bundles = d.bundles_all

# print all bundle names
bundles.each { |b| puts b.name }

You can also create new bundles or delete existing ones.

# set a new bundle for tags ruby, rails and gem
d.bundles_set('MyBundle', %w(ruby rails gem))

# delete the old bundle
d.bundles_delete('OldBundle')

Credits

More

Feedback and bug reports

Please submit bug reports or feature requests to Github Issues.

Changelog

See the CHANGELOG.md file for details.

License

WWW::Delicious is copyright (c) 2009-2011 Simone Carletti. This is Free Software distributed under the MIT license.

www-delicious's People

Contributors

weppos avatar michaelklishin avatar

Watchers

 avatar

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.