#!/usr/bin/env ruby $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__)) require 'rubygems' require 'shelr' BASENAME = File.basename(__FILE__) HELP = <<-HELP Usage: #{BASENAME} command [arg] COMMANDS: Recording: record - record new shellcast record --sound - record new shellcast with sound Publishing: push last - publish last record push last --private - publish private record push RECORD_ID - publish record with given id Getting record as json: dump last - dump last record as json to current dir dump RECORD_ID - dump any record as json to current dir Replaying: list - print list of records play last - play last local record play RECORD_ID - play local record play RECORD_URL - play remote record play dump.json - play local file dumped with `shelr dump` Setup: setup API_KEY [API_URL] - set your API key and API site backend [ttyrec|script] - setup recorder backend Visit: http://shelr.tv/ for more info. HELP case ARGV[0] when '-h', '--help' puts HELP when 'record' Shelr::Recorder.record!(:sound => ARGV[1] == '--sound') when 'list' Shelr::Player.list when 'play' if ARGV[1] if ARGV[1] =~ /^https?:.*/ # remote file Shelr::Player.play_remote(ARGV[1]) elsif ARGV[1] =~ /.*\.json$/ # local file Shelr::Player.play_dump(ARGV[1]) else Shelr::Player.play(:record_id => ARGV[1]) end else puts "Missing id for shellcast" Shelr::Player.list puts "Select one..." end when 'stop' puts '=> type "exit" or Ctrl+D' puts '=> Then `shelr push last`' when 'dump' if ARGV[1] Shelr::Publisher.new.dump(ARGV[1]) else puts "What do you want to dump?" Shelr::Player.list puts "Select one..." end when 'push' if ARGV[1] Shelr::Publisher.new.publish(ARGV[1], ARGV[2] == '--private') else puts "What do you want to publish?" Shelr::Player.list puts "Select one..." end when 'setup' if ARGV[2] Shelr.api_url = ARGV[2] end if ARGV[1] Shelr.api_key = ARGV[1] else puts "\n\tUsage: #{BASENAME} setup API_KEY\n\n" end when 'backend' if ARGV[1] Shelr.backend = ARGV[1] else puts "\n\tUsage: #{BASENAME} backend [ttyrec|script]\n\n" end when 'version' puts Shelr::VERSION else puts HELP end