Project

betterific

0.0
No commit activity in last 3 years
No release in over 3 years
This gem is a Ruby interface to the Betterific API.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

Runtime

~> 2.0.5
~> 1.8.0
 Project Readme

Betterific

This gem makes it easy to access the Betterific API to explore betterifs, tags, and users.

Installation

Add this line to your application's Gemfile:

gem 'betterific'

And then execute:

$ bundle

Or install it yourself as:

$ gem install betterific

Usage

To get started quickly, you should use Betterific::Client, which uses Betterific::JsonClient in the absence of the ruby-protocol-buffers gem. This will use JSON as the data format and requires no extra gems besides the json gem, which is likely already installed on your machine.

Betterific::JsonClient wraps the JSON response using Hashie, so you may access the data using JSON object notation or via method calls. For example,

Betterific::JsonClient.betterifs(:ids => [224])['total_results']

is equivalent to

Betterific::JsonClient.betterifs(:ids => [224]).total_results

However, it is recommended that you use the latter notation since it is compatible with Betterific::ProtobufClient, whereas the JSON object notation is not.

Betterifs

You can see the most popular betterifs of the last week using

Betterific::Client.betterifs(:most_popular)

A similar call can be used to see the most recent betterifs

Betterific::Client.betterifs(:most_recent)

If you already know the id(s) of the betterif(s) that you would like to see, you can use

Betterific::Client.betterifs(:ids => [id0, id1, ...])

Comments

You can see a list of comments by id or by betterif_id using

Betterific::Client.comments(:ids => [id0, id1, ...])

and

Betterific::Client.comments(:betterif_ids => [id0, id1, ...])

If using betterif_ids, you may also specify the desired sort order, which can be either least_recent or most_recent

Betterific::Client.comments(:betterif_ids => [id0, id1, ...], :order => 'least_recent')

Tags and Users

You can see a list of tags or users by id using

Betterific::Client.tags(:ids => [id0, id1, ...])

and

Betterific::Client.users(:ids => [id0, id1, ...])

Search

You can search for betterifs, tags, users, or all of these using

Betterific::Client.search(:namespace => :all, :q => 'my query')

Changing the :namespace parameter will change the type of data returned.

Pagination

All client methods take pagination params :page and :per_page. In the case of most popular and most recent betterifs, the filter must be changed to a Hash parameter, like so

Betterific::Client.betterifs(:filter => :most_popular, :page => 2, :per_page => 10)

and

Betterific::Client.betterifs(:filter => :most_recent, :page => 2, :per_page => 10)

Using Protocol Buffers

If you have ruby-protocol-buffers installed, Betterific::Client will use Betterific::ProtobufClient in place of Betterific::JsonClient. This will greatly improve performance, as Protocol Buffers are highly optimized.

The Betterific::ProtobufClient responds to the same methods as the Betterific::JsonClient, so it's easy to switch between implementations at will. For example,

Betterific::JsonClient.users(:ids => [2])

and

Betterific::ProtobufClient.users(:ids => [2])

return the same data as

Betterific::Client.users(:ids => [2])

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request