Home > next-big-sound

next-big-sound

Next-big-sound is a project mainly written in Ruby, based on the MIT license.

A wrapper api for next big sound.

= next-big-sound

This is the start of a ruby api wrapper for nextbigsound.com. This gem will provide a reasonable ruby wrapper for all methods in the public API.

This code was written by jeff at musicxray.com if you think you can do better send us and email and we can chat about job opportunities.

installation:

gem install xml-simple

gem install next-big-sound

usage:

require 'rubygems'
require 'next-big-sound'

nbs = NBS::Base.new('YOUR_API_KEY')

searchobj = nbs.search("The Killers")

# retrieve list of artists that returned from the search
searchobj.artists

# get the id of the artist
searchobj.artists.first.artist_id  # can be useful to store for later use.

# get the first artist that you find and find
# all associated profiles.   myspace, ilike ....

artist = searchobj.artists.first

artist.profiles 
# get the url for a specific service

artist.profiles["MYSPACE"]  
# in addition.  There is are magic method for retrieving data
# if you want myspace plays for example you would get it like this

# Each profile can have multiple metrics 
# each metric has an array of datapoints.  
# datapoints consist of a DateTime Object and a float
# example usage follows

profile = artist.profiles["MYSPACE"]

metrics = profile.metrics("4/24/2009","4/24/2010")
datapoints = metrics["plays"].data_points

#The datapoints array can then be iterated over.

#shortcut methods have been provided for convenience is as follows

artist.myspace_plays_datapoints("4/24/2009","4/24/2010")

This will return the datapoints you are looking for .... 

== Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2010 jeff durand. See LICENSE for details.