8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/video_thumb.rb', line 8
def self.get url, size = 'large'
case size
when "small"
youtube_size = 'default'
vimeo_size = 'thumbnail_small'
when "medium"
youtube_size = 'mqdefault'
vimeo_size = 'thumbnail_medium'
when "large"
youtube_size = 'sddefault'
vimeo_size = 'thumbnail_large'
when "max"
youtube_size = 'maxresdefault'
vimeo_size = 'thumbnail_large'
else
youtube_size = 'sddefault'
vimeo_size = 'thumbnail_large'
end
if url.include?('youtu.be') || url.include?('youtube')
regex = /(https?:\/\/)?(www.)?(youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/watch\?feature=player_embedded&v=)([A-Za-z0-9_-]*)(\&\S+)?(\?\S+)?/
url.gsub(regex) do
youtube_video_id = $4
image = "https://img.youtube.com/vi/#{youtube_video_id}/#{youtube_size}.jpg"
return image
end
elsif url.include?('vimeo')
regex = /^https?:\/\/(?:.*?)\.?(vimeo)\.com\/(\d+).*$/
url.gsub(regex) do
vimeo_video_id = $2
vimeo_video_json_url = 'http://vimeo.com/api/v2/video/%s.json' % vimeo_video_id
image = JSON.parse(open(vimeo_video_json_url).read).first[vimeo_size] rescue nil
return image
end
elsif url.include?('izlesene')
image = Nokogiri::HTML(open(url)).css("meta[property='og:image']").at_css('meta[property="og:image"]')['content']
return image
else
return false
end
end
|