Sha256: 906233cd07e35a55a31c24b9c687ad3bde3efe75ec66bac3cc9a3210071027e8

Contents?: true

Size: 645 Bytes

Versions: 1

Compression:

Stored size: 645 Bytes

Contents

require 'uri'

module AirPlayer
  class Media
    attr_reader :title, :path, :type

    def initialize(target)
      path   = File.expand_path(target)
      @title = File.basename(path)

      if File.exist? path
        @video_server = AirPlayer::Server.new(path)
        @path = @video_server.uri
        @type = :file
      else
        @path = URI.encode(target)
        @type = :url
      end
    end

    def open
      Thread.start { @video_server.start } if file?
      @path
    end

    def close
      @video_server.stop if file?
    end

    def file?
      @type == :file
    end

    def url?
      @type == :url
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
airplayer-0.0.3 lib/airplayer/media.rb