Class: Sportsflix::API

Inherits:
Object
  • Object
show all
Defined in:
lib/sportsflix.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ API

Returns a new instance of API.



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sportsflix.rb', line 10

def initialize(options)
  @verbose       = options[:verbose]
  @stream_offset = options[:offset]
  @club_name     = options[:club]
  @interactive   = options['interactive']
  @video_player  = options['video-player'].to_sym

  @arenavision_client = Providers::Arenavision::Client.new(options)
  @executor           = Sportsflix::Utils::Executor.new(options)
  @players            = {
    :vlc => Sportsflix::Players::VLC::Client.new(options)
  }
end

Instance Method Details

#watchObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/sportsflix.rb', line 24

def watch
  streams = @arenavision_client.list_streams

  if @club_name
    streams = streams.select do |stream|
      stream[:game].downcase.include?(@club_name.downcase)
    end
  end

  response = ask_choose_stream(streams)

  stream_uri = @arenavision_client.get_stream_uri(response[:channel_number], response[:event])

  unless @players.key?(@video_player)
    puts "Unable to find client for #{@video_player} player"
    exit(1)
  end

  player = @players[@video_player]
  player.start({
                 :proxy => response[:stream][:proxy],
                 :uri   => stream_uri
               })
end