Class: Libertree::Embedding::CustomProviders::Jamendo

Inherits:
Object
  • Object
show all
Defined in:
lib/libertree/embedding/custom-providers.rb

Class Method Summary collapse

Class Method Details

.formatObject



69
70
71
# File 'lib/libertree/embedding/custom-providers.rb', line 69

def self.format
  %r{http://www.jamendo\.com/.+/track/.+}
end

.get(url) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/libertree/embedding/custom-providers.rb', line 73

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('.preview object')[0]
      if e
        return e.to_html
      else
        raise Libertree::Embedding::Error, "failed to find embedding code"
      end
    end
  end
end