Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An easy way to include external video services in a rails app.
branch: master
Failed to load latest commit information.
lib Merging the refactor branch
spec Deprecating flv method
.coveralls.yml Getting ready for travis and coveralls
.gitignore Deprecating fly and download_url
.travis.yml adding master to travis
MIT-LICENSE adding metacafe library
README.markdown Merging the refactor branch
Rakefile fixing Travis script
acts_as_unvlogable.gemspec Making flickr calls work
unvlogable_sample.yml using youtube_g to the youtube video service


Acts as unvlogable Build Status Coverage Status

What the hell is this!

This is the plugin that we use in to manage the supported video services. It is an easy way to obtain a few basics about a video only through its url.

A quick example:

To include this video in this post we need to know its title, the correct way to embed it and its thumbnail url. With this plugin we have an easy access to this data:

    @aha ="")
    @aha.title => "paradon del portero"
    @aha.thumbnail => ""
    @aha.embed_url => ""
    @aha.embed_html(width, height) => "<object [...]</object>"
    # all together :)
    @aha.video_details(width, height) => {
                                            :title => ...,
                                            :thumbnail => ...,
                                            :embed_url => ...,
                                            :embed_html => ...,

With this plugin we have an unique way to manage multiple services :)

Install it!

  1. Install it as a gem:

    gem "acts_as_unvlogable"
  2. Optionally you can create the config/unvlogable.yml to store keys for the different services. You have in the plugin a sample file. At this moment you only need specify keys for flickr.

Use it!

The idea is make it as simple as possible. For a given video URL as

    videotron ="")

Then we have methods to know the 'basics' for use this video on your application.

  • title: A method to know the title of the video on the service.

      => "Beached"
  • service: A method to know the name of the video provider service.

    => "Vimeo"
  • thumbnail: An image representation of the video. Each service has a different size, but... it works :)

      => ""
  • embed_url: The url (with flashvars) of the video player.

      => " [...] &show_portrait=1"
  • embed_html(width, height): Uses the embed_url to build an oembed string. The default width x height is 425 x 344, but we can specify a different one.

      videotron.embed_html(400, 300)
      => "<object width='400' height='300'><param name='mo [...] 300'></embed></object>"

  • video_details(width, height): All together :), returns all the previous elements in a hash. Width and height can be specified to build the embed_html.

      => "{ [...] }"

Supported services

At this moment we support the following video services:

And... what else?

If you find a bug or want to suggest a new video service, please tell it to us in a ticket.


Something went wrong with that request. Please try again.