Class: RemoteCss::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/remote_css/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.



7
8
9
10
# File 'lib/remote_css/client.rb', line 7

def initialize(options)
  validate_options!(options)
  @url = options[:url]
end

Instance Attribute Details

#urlObject

Returns the value of attribute url.



5
6
7
# File 'lib/remote_css/client.rb', line 5

def url
  @url
end

Instance Method Details

#cssObject



12
13
14
15
16
17
# File 'lib/remote_css/client.rb', line 12

def css
  doc = Nokogiri::HTML(open(@url))
  inline_styles = doc.css("style").map{|s| s.text }
  remote_styles = doc.css("link[rel='stylesheet'][href]").map{|c| open(URI.join(@url, c.attr("href"))).read }
  [inline_styles, remote_styles].join("\n")
end