Class: Libertree::Embedding::CustomProviders::TED
- Inherits:
-
Object
- Object
- Libertree::Embedding::CustomProviders::TED
- Defined in:
- lib/libertree/embedding/custom-providers.rb
Class Method Summary collapse
Class Method Details
.format ⇒ Object
93 94 95 |
# File 'lib/libertree/embedding/custom-providers.rb', line 93 def self.format %r{http://www\.ted\.com/talks/.+\.html} end |
.get(url) ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/libertree/embedding/custom-providers.rb', line 97 def self.get(url) return unless url =~ self.format uri = URI.parse(url) Timeout.timeout(10) do Net::HTTP.start(uri.host) do |http| resp = http.get(uri.path) html = Nokogiri::HTML(resp.body) e = html.css('#embedthisvideo')[0] if e return e.attr('value') else raise Libertree::Embedding::Error, "failed to find embedding code" end end end end |