Sha256: 1752568fcc28cfd2c70dd60f17a95a2c14a645b0663a9a181b0fe2ed1f114925

Contents?: true

Size: 1.15 KB

Versions: 9

Compression:

Stored size: 1.15 KB

Contents

class Muri
  module Filter
    module Twitpic

      private
      TWITPIC_PHOTO = 'photo'

      REGEX_TWITPIC_PHOTO = /^\/([a-z0-9]+)/i
      
      def self.included(base)
        base.class_eval do
          self::PARSERS[Muri::Filter::Twitpic] = "twitpic_parse"
        end
      end

      def self.parsable?(uri)
        uri.host =~ /^twitpic\.com$/i
      end

      def twitpic_parse
        self.media_service = TWITPIC_SERVICE_NAME #'Twitpic'
        url_common = "http://twitpic.com"

        if self.uri.path =~ REGEX_TWITPIC_PHOTO
          self.media_id = $1
          self.media_website = "#{url_common}/#{self.media_id}"
          self.media_url = "#{url_common}/show/large/#{self.media_id}"
          self.media_thumbnail = "#{url_common}/show/thumb/#{self.media_id}"
          self.media_api_type = TWITPIC_PHOTO
        else
          raise UnsupportedURI
        end

        # Twitpic does not have an API to pull photo info. Media ID is best guess
        self.media_api_id = self.media_id
      end
    end
  end
end
# http://twitpic.com/17d7th
# http://twitpic.com/show/large/17d7th
# http://twitpic.com/show/thumb/17d7th

# http://twitpic.com/api.do

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
muri-1.1.9 lib/muri/filters/twitpic.rb
muri-1.1.8 lib/muri/filters/twitpic.rb
muri-1.1.6 lib/muri/filters/twitpic.rb
muri-1.1.5 lib/muri/filters/twitpic.rb
muri-1.1.4 lib/muri/filters/twitpic.rb
muri-1.1.2 lib/muri/filters/twitpic.rb
muri-1.1.1 lib/muri/filters/twitpic.rb
muri-1.1.0 lib/muri/filters/twitpic.rb
muri-1.0.0 lib/muri/filters/twitpic.rb