Commit 8f871b2
Changed files (3)
lib/ghetto/blaster/cli.rb
@@ -1,12 +1,35 @@
require 'thor'
+require 'net/hippie'
module Ghetto
module Blaster
class CLI < Thor
+ class_option :client_id, default: ENV['CLIENT_ID']
+
+ desc "play", "play music"
+ def play
+ Net::Hippie.logger = Logger.new('/dev/null')
+ say client.get(build_uri("tracks?client_id=#{client_id}")).body
+ end
+
desc "version", "print version"
def version
say Ghetto::Blaster::VERSION
end
+
+ private
+
+ def client
+ @client ||= Net::Hippie::Client.new
+ end
+
+ def client_id
+ options[:client_id]
+ end
+
+ def build_uri(path)
+ "https://api.soundcloud.com/#{path}"
+ end
end
end
end
Gemfile.lock
@@ -2,12 +2,14 @@ PATH
remote: .
specs:
ghetto-blaster (0.1.0)
+ net-hippie (~> 0.1)
thor (~> 0.20)
GEM
remote: https://rubygems.org/
specs:
diff-lcs (1.3)
+ net-hippie (0.1.8)
rake (10.5.0)
rspec (3.7.0)
rspec-core (~> 3.7.0)
ghetto-blaster.gemspec
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
+ spec.add_dependency "net-hippie", "~> 0.1"
spec.add_dependency "thor", "~> 0.20"
spec.add_development_dependency "bundler", "~> 1.16"
spec.add_development_dependency "rake", "~> 10.0"