# film_snob [![Build Status](https://travis-ci.org/maxjacobson/film_snob.svg?branch=master)](https://travis-ci.org/maxjacobson/film_snob) [![Gem Version](https://badge.fury.io/rb/film_snob.svg)](http://badge.fury.io/rb/film_snob) [![Code Climate](https://codeclimate.com/github/maxjacobson/film_snob.png)](https://codeclimate.com/github/maxjacobson/film_snob) [![Test Coverage](https://codeclimate.com/github/maxjacobson/film_snob/badges/coverage.svg)](https://codeclimate.com/github/maxjacobson/film_snob) Helps parse URLs of web videos. ## Installation Add this line to your application's Gemfile: gem "film_snob" And then execute: $ bundle Or install it yourself as: $ gem install film_snob ## Usage ```ruby film = FilmSnob.new("https://www.youtube.com/watch?v=GwT3zH16w3s") film.embeddable? #=> true film.site #=> :youtube film.id #=> "GwT3zH16w3s" film.title #=> "What Are You, The Coolest? With Robert Rodriguez" film.html #=> "" ``` Can also pass some configuration options like this: ```ruby film = FilmSnob.new("http://vimeo.com/64683454", width: 720) film.title #=> "Garann Means - Bacon is bad for you" film.html #=> "" ``` film_snob uses the oembed protocol to get html for embed codes. These options assume some knowledge of the endpoint's API. The above vimeo example works because they [have an extensively documented API](http://developer.vimeo.com/apis/oembed) which allows tons of configuration. The other two don't seem to have any documentation or configuration at all. ## Supported Sites * YouTube * Vimeo * Hulu * Funny or Die * Coub * Instagram * Dailymotion * Vine * Rutube * Soundcloud The same methods work with all of these providers. ## Testing Run `rake spec` to run all of the tests. ## Code Style Run `rake style` to confirm the codebase is looking stylish. ## Continous Integration Run `rake ci` to run both the tests and the style checks, which will be run on Travis; both should pass to have a green build. ## Questions? [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/maxjacobson/film_snob?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Ping me in [the Gitter chat room](https://gitter.im/maxjacobson/film_snob) or [create a GitHub issue](https://github.com/maxjacobson/film_snob/issues/new) ## Contributing 1. Fork it ( https://github.com/maxjacobson/film_snob/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am "Add some feature"`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request