Skip to content
This repository has been archived by the owner on Jun 11, 2020. It is now read-only.

pch/lastfm-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Last.fm API Ruby Client

LastFM is a Ruby wrapper for Last.fm API.

Installation

Add the following line to your Gemfile and run bundle install:

gem 'lastfm-client', :git => 'http://github.com/pch/lastfm-client.git'

You also need to set up your API key and client name, e.g.:

LastFM.api_key     = "7234655fd87556209fa94ca6f5e7ad0a8b47f394"
LastFM.client_name = "My awesome app"

If you're using Rails, you can add the above lines to an initalizer file, e.g. config/initializers/lastfm.rb

Usage examples

LastFM::Album.get_info(:artist => "Red Hot Chili Peppers", :album => "Mother's Milk")
LastFM::Artist.get_top_fans(:artist => "Gorillaz")
LastFM::Geo.get_events(:location => "Warsaw")
LastFM::User.get_top_albums(:user => "some_user")

Authentication

For some methods Last.fm requires authentication, which is somewhat similar to oAuth:

class SessionsController < ApplicationController
  def new
    redirect_to LastFM.auth_url
  end

  def create
    token = params[:token]
    redirect_to root_path and return if !token || token == ""

    api_session = LastFM::Auth.get_session(:token => token, :api_sig => true)
    api_session = api_session["session"]

    user = User.find_by_username(api_session["name"])
    unless user
      # new user
      user = User.create(:username => api_session["name"])
    end

    session[:user_id]     = user.id
    session[:session_key] = api_session["key"]

    redirect_to root_path
  end
end

About

Last.fm API Ruby client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages