dance 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in dance.gemspec
4
+ gemspec
@@ -0,0 +1,24 @@
1
+ # Dance
2
+
3
+ Dance is a Gem for communicating with the [Console.fm API](http://console.fm/api).
4
+
5
+ ## Usage
6
+
7
+ dance = Dance::Client.new("KEY")
8
+
9
+ # Artists
10
+ dance.artists.info(id)
11
+
12
+ # Genres
13
+ dance.genres.all
14
+ dance.genres.info(id)
15
+
16
+ # Users (these are for if you are an administrator)
17
+ dance.users.all
18
+ dance.users.current
19
+ dance.users.favorites
20
+ dance.users.facebook
21
+ dance.users.twitter
22
+
23
+ # Tracks
24
+ dance.tracks.info(id)
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "dance"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "dance"
7
+ s.version = "0.1.0"
8
+ s.authors = ["Ethan Turkeltaub"]
9
+ s.email = ["ethan.turkeltaub@gmail.com"]
10
+ s.homepage = "http://github.com/eturk/dance"
11
+ s.summary = "A library for communicating with the Console.fm API."
12
+ s.description = "A library for communicating with the Console.fm API."
13
+
14
+ s.rubyforge_project = "dance"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_dependency "httparty"
22
+ s.add_development_dependency "rspec"
23
+
24
+ # s.add_runtime_dependency "rest-client"
25
+ end
@@ -0,0 +1,10 @@
1
+ require 'httparty'
2
+
3
+ require 'dance/client'
4
+ require 'dance/artists'
5
+ require 'dance/genres'
6
+ require 'dance/users'
7
+ require 'dance/tracks'
8
+
9
+ module Dance
10
+ end
@@ -0,0 +1,9 @@
1
+ module Dance
2
+ class Artists < Client
3
+
4
+ def self.info(id)
5
+ get('/artists/' + id.to_s)
6
+ end
7
+
8
+ end
9
+ end
@@ -0,0 +1,30 @@
1
+ module Dance
2
+ class Client
3
+ include HTTParty
4
+
5
+ base_uri 'console.fm/api/v1'
6
+ default_params :api_key => @key
7
+
8
+ def initialize(key)
9
+ @key = key
10
+ end
11
+
12
+ def artists
13
+ Artists
14
+ end
15
+
16
+ def genres
17
+ Genres
18
+ end
19
+
20
+ def users
21
+ Users
22
+ end
23
+
24
+ def tracks
25
+ Tracks
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,13 @@
1
+ module Dance
2
+ class Genres < Client
3
+
4
+ def self.all
5
+ get('/genres')
6
+ end
7
+
8
+ def self.info(id)
9
+ get('/genres/' + id.to_s)
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ module Dance
2
+ class Tracks < Client
3
+
4
+ def self.info(id)
5
+ get('/tracks/' + id.to_s)
6
+ end
7
+
8
+ end
9
+ end
@@ -0,0 +1,25 @@
1
+ module Dance
2
+ class Users < Client
3
+
4
+ def self.all
5
+ get('/users')
6
+ end
7
+
8
+ def self.current
9
+ get('/users/current')
10
+ end
11
+
12
+ def self.favorites
13
+ get('/users/current/favorites')
14
+ end
15
+
16
+ def self.facebook
17
+ get('/users/current/facebook')
18
+ end
19
+
20
+ def self.twitter
21
+ get('/users/current/twitter')
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ module Dance
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dance
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Ethan Turkeltaub
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-10-16 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: httparty
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
35
+ type: :development
36
+ version_requirements: *id002
37
+ description: A library for communicating with the Console.fm API.
38
+ email:
39
+ - ethan.turkeltaub@gmail.com
40
+ executables: []
41
+
42
+ extensions: []
43
+
44
+ extra_rdoc_files: []
45
+
46
+ files:
47
+ - .gitignore
48
+ - Gemfile
49
+ - README.markdown
50
+ - Rakefile
51
+ - dance.gemspec
52
+ - lib/dance.rb
53
+ - lib/dance/artists.rb
54
+ - lib/dance/client.rb
55
+ - lib/dance/genres.rb
56
+ - lib/dance/tracks.rb
57
+ - lib/dance/users.rb
58
+ - lib/dance/version.rb
59
+ homepage: http://github.com/eturk/dance
60
+ licenses: []
61
+
62
+ post_install_message:
63
+ rdoc_options: []
64
+
65
+ require_paths:
66
+ - lib
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: "0"
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ requirements: []
80
+
81
+ rubyforge_project: dance
82
+ rubygems_version: 1.8.5
83
+ signing_key:
84
+ specification_version: 3
85
+ summary: A library for communicating with the Console.fm API.
86
+ test_files: []
87
+