Class: Getvideo::Video

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

Direct Known Subclasses

Iqiyi, Ku6, Sina, Sohu, Tudou, Wole, Youku, Youtube

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Video

Returns a new instance of Video.



12
13
14
# File 'lib/getvideo/video.rb', line 12

def initialize(url)
  @url = url
end

Instance Attribute Details

#urlObject (readonly)

Returns the value of attribute url.



10
11
12
# File 'lib/getvideo/video.rb', line 10

def url
  @url
end

Class Method Details

.get_api_uri(klass) ⇒ Object



53
54
55
# File 'lib/getvideo/video.rb', line 53

def get_api_uri(klass)
  klass.instance_eval(&set_api_uri)
end

.set_api_uri(&block) ⇒ Object



48
49
50
51
# File 'lib/getvideo/video.rb', line 48

def set_api_uri(&block)
  return @api_uri unless block_given?
  @api_uri = block
end

Instance Method Details

#connectionObject



20
21
22
23
# File 'lib/getvideo/video.rb', line 20

def connection
  api_url = self.class.get_api_uri(self)
  Response.new(Faraday.get(api_url)).parsed
end

#coverObject



27
# File 'lib/getvideo/video.rb', line 27

def cover; end

#flashObject



29
# File 'lib/getvideo/video.rb', line 29

def flash; end

#html_urlObject



26
# File 'lib/getvideo/video.rb', line 26

def html_url; end

#idObject



25
# File 'lib/getvideo/video.rb', line 25

def id; end

#jsonObject



37
38
39
40
41
42
43
44
45
# File 'lib/getvideo/video.rb', line 37

def json
  {id: id,
    url: html_url,
    cover: cover,
    title: title,
    m3u8: m3u8,
    flash: flash,
    media: play_media}.to_json
end

#m3u8Object



30
# File 'lib/getvideo/video.rb', line 30

def m3u8; end

#mediaObject



31
# File 'lib/getvideo/video.rb', line 31

def media; end

#play_mediaObject



33
34
35
# File 'lib/getvideo/video.rb', line 33

def play_media
  media["mp4"][0] if media["mp4"]
end

#responseObject



16
17
18
# File 'lib/getvideo/video.rb', line 16

def response
  @response ||= connection
end

#titleObject



28
# File 'lib/getvideo/video.rb', line 28

def title; end