module VideoInfo::Providers::VimeoAPI
Constants
- THUMBNAIL_LINK_REGEX
Public Instance Methods
api_key()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 6 def api_key VideoInfo.provider_api_keys[:vimeo] end
date()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 64 def date Time.parse(_video["created_time"], Time.now.utc).utc end
keywords()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 56 def keywords keywords_array end
keywords_array()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 60 def keywords_array _video["tags"].map { |t| t["tag"] } end
stats()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 72 def stats _video["stats"] end
thumbnail_id()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 40 def thumbnail_id @thumbnail_id ||= parse_picture_id(_video.dig("pictures", "sizes").first["link"]) end
thumbnail_large()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 52 def thumbnail_large generate_thumbnail(640) end
thumbnail_medium()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 48 def thumbnail_medium generate_thumbnail(200, 150) end
thumbnail_small()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 44 def thumbnail_small generate_thumbnail(100, 75) end
title()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 18 def title _video["name"] end
view_count()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 68 def view_count stats["plays"].to_i end
Private Instance Methods
_api_base()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 108 def _api_base "api.vimeo.com" end
_api_path()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 112 def _api_path "/videos/#{video_id}" end
_api_url()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 116 def _api_url "https://#{_api_base}#{_api_path}" end
_api_version()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 92 def _api_version "3.2" end
_api_version_headers()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 100 def _api_version_headers {"Accept" => "application/vnd.vimeo.*+json;version=#{_api_version}"} end
_clean_options(options)
click to toggle source
Calls superclass method
# File lib/video_info/providers/vimeo_api.rb, line 87 def _clean_options(options) headers = [super, _authorization_headers, _api_version_headers] headers.inject(&:merge) end
_video()
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 104 def _video data end
generate_thumbnail(width = 200, height = nil)
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 78 def generate_thumbnail(width = 200, height = nil) base_uri = "https://i.vimeocdn.com/video/#{thumbnail_id}" if height base_uri + "_#{width}x#{height}.jpg" else base_uri + "_#{width}.jpg" end end
parse_picture_id(uri)
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 124 def parse_picture_id(uri) uri.match(THUMBNAIL_LINK_REGEX)[1] end
parse_picture_id_from_user(uri)
click to toggle source
# File lib/video_info/providers/vimeo_api.rb, line 120 def parse_picture_id_from_user(uri) %r{/pictures/(\d+)}.match(uri)[1] end