Sha256: b0a6495f5951592aaa45221e88462b7ce8e7bde5ecc823ac08df51169a455472

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

require 'cgi'
class Muri
  module Filter
    module Vimeo
            
      def self.included(base)
        base.class_eval do
          self::PARSERS[Muri::Filter::Vimeo] = "vimeo_parse"
        end
      end
      
      def vimeo_parse
        @info[:service] = 'Vimeo'
        
        if @url.path =~ /^\/([0-9]*)/
          @info[:media_id] = $1
        elsif (@url.path =~ /^\/moogaloop\.swf/i)
          params = CGI::parse(@url.query)
          if params.include?("clip_id")
            @info[:media_id] = params["clip_id"].first if (params["clip_id"].first =~ /([0-9]*)/)
          end
        end
        
        if self.parsed?
          @info[:media_api_id] = @info[:media_id]
          @info[:media_url] = "http://vimeo.com/#{@info[:media_id]}"
        end
        
        self
      end            
 
      def self.parsable?(uri)
        uri.host =~ /^vimeo\.com$/i
      end
      
    end
  end
end
# http://vimeo.com/moogaloop.swf?clip_id=7312128&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" 
# http://vimeo.com/7312128

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
muri-0.0.3 lib/muri/filters/vimeo.rb