Commit 8f871b2

mo <mo.khan@gmail.com>
2018-06-14 15:45:34
start to connect to the soundcloud api.
1 parent 886d21e
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"