Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
a robust Ruby wrapper for the Soundcloud API
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
.rspec
Gemfile
README.md
Rakefile
config.template.yml
red_haze.gemspec

README.md

red_haze - SoundCloud API gem

This is an unofficial Ruby gem for the Soundcloud API. It is OO and provides you with some nice objects with convenient methods. All "☁" links point to the official SoundCloud documenation for that object. Get hacking.

Installation

gem install red_haze or add gem 'red_haze' to your bundle file

Configuration

RedHaze must be configured before use. The following arguments can be provided to RedHaze.configure(<ARGS>)

Arguments Usage
client_id: <CLIENT_ID> General, unauthenticated calls. Minimum requirement
access_token: <ACCESS_TOKEN> Authenticated calls. Gives access to Me
client_id: <CLIENT_ID>,
client_secret: <CLIENT_SECRET>,
redirect_uri: <REDIRECT_URI>
Required when requested/refreshing access tokens (see below)

Alternatively, you can create a config.yml file (see the config.yml.template) to load a hash of these settings and use RedHaze.configure_from_file('<FILE_NAME>')

To sign up for a developer account and receive a client_id go here

OAuth

After configuring RedHaze with the required attributes, hit the RedHaze.authorize_url. At your redirect_uri, pass the code parameter to RedHaze.client.get_token_from_code(<CODE>) and you'll be ready to make authenticated requests.


User

Initialized via RedHaze.user(<USER_ID>).

Method Description
.followings Users this user is following
.followers Users following this user
.comments user's Comments
.tracks user's Tracks
.favorites user's favorite Tracks
.groups user's Groups
.playlists user's Playlists

Me

Requires valid access token. Subclass of User. Access via RedHaze.me.

Method Description
.activities Collection of dashboard activities
.follow!(arg) Follows a given User or user_id
.unfollow!(arg) Unfollows a given User or user_id
.follows?(arg) Checks if user follows a given User or user_id
.favorite!(arg) Favorites a given Track or track_id
.unfavorite!(arg) Unfavorites a given Track or track_id
.favorite?!(arg) Checks if user has favorited a given Track or track_id

Track

Access via RedHaze.track(<TRACK_ID>).

Method Description
.favoriters Users who have favorited track
.comments Comments on track
.shared_to Users who have access to the track

Collection

Wrapper object returned from Me#activities. Returns a group of activities contained within the items attribute. Use .next to retrieve the next paginated Collection.

Activity

Contained in collection. Links to an origin object.


Group

Access via RedHaze.group(<GROUP_ID>).

Method Description
.members Users who have joined group
.moderators Users who are moderators
.contributors Users who have contributed
.users All of the above

Playlist

Access via RedHaze.Playlist(<PLAYLIST_ID>).


Comment

Access via RedHaze.Comment(<COMMENT_ID>).


Contributing

Contributions via Issue/Bug reporting, Feature Requests, and Pull requests are encouraged. Please write tests (integrated if possible) for new features.

Something went wrong with that request. Please try again.