Class: Icecast::Server::Status

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parsed_status) ⇒ Status

Returns a new instance of Status.



54
55
56
57
58
# File 'lib/icecast/server.rb', line 54

def initialize(parsed_status)
  @created_at = Time.now
  @parsed_status = parsed_status
  @stream_statuses = {}
end

Instance Attribute Details

#created_atObject

Returns the value of attribute created_at.



52
53
54
# File 'lib/icecast/server.rb', line 52

def created_at
  @created_at
end

#parsed_statusObject

Returns the value of attribute parsed_status.



52
53
54
# File 'lib/icecast/server.rb', line 52

def parsed_status
  @parsed_status
end

Instance Method Details

#locationObject



74
75
76
# File 'lib/icecast/server.rb', line 74

def location
  parsed_status["icestats"]["location"]
end

#parsed_source_statusesObject



60
61
62
63
# File 'lib/icecast/server.rb', line 60

def parsed_source_statuses
  sources = parsed_status["icestats"]["source"]
  Hash === sources ? [sources] : Array(sources)
end

#stream(mount_point) ⇒ Object



65
66
67
68
69
70
71
72
# File 'lib/icecast/server.rb', line 65

def stream(mount_point)
  mount_point = "/#{mount_point}" unless mount_point.start_with?("/")
  @stream_statuses[mount_point] ||= 
    begin
      parsed_source_status = parsed_source_statuses.find { |s| s["mount"] == mount_point }
      StreamStatus.new(parsed_source_status)
    end
end