Sha256: a3726f04df99a8ffd1ecb03852222c9186caf5a0374454bb1cba064e620b461c

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

class VideoInfo
  module Providers
    class Vimeo < Provider

      def self.usable?(url)
        url =~ /vimeo\.com/
      end

      def provider
        'Vimeo'
      end

      %w[title description thumbnail_small thumbnail_medium thumbnail_large].each do |method|
        define_method(method) { video[method] }
      end

      %w[duration width height].each do |method|
        define_method(method) { video[method].to_i }
      end

      def keywords
        video['tags']
      end

      def embed_url
        "player.vimeo.com/video/#{video_id}"
      end

      def date
        Time.parse(video['upload_date'], Time.now.utc).utc
      end

      def view_count
        video['stats_number_of_plays'].to_i
      end

      def video
        data && data.first
      end

      private

      def _url_regex
        /.*\.com\/(?:(?:groups\/[^\/]+\/videos\/)|(?:video\/))?([0-9]+).*$/i
      end

      def _api_url
        "http://vimeo.com/api/v2/video/#{video_id}.json"
      end

      def _default_iframe_attributes
        {}
      end

      def _default_url_attributes
        { title: 0,
          byline: 0,
          portrait: 0,
          autoplay: 0 }
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
video_info-2.0.2 lib/video_info/providers/vimeo.rb
video_info-2.0.1 lib/video_info/providers/vimeo.rb