class Mike::Document

Attributes

dom[R]
html[R]
js[R]
url[R]

Public Class Methods

new(url) click to toggle source
# File lib/mike.rb, line 17
def initialize(url)
  @url  = url
  @html = load_url(@url)
  @dom  = Hpricot(@html)
  @js   = Mustang::Context.new

  prepare_context
  process_scripts
end

Public Instance Methods

scripts() click to toggle source
# File lib/mike.rb, line 27
def scripts
  (@dom/"//script")
end

Private Instance Methods

load_url(url) click to toggle source
# File lib/mike.rb, line 33
def load_url(url)
  File.read(url) # just for the test
end
prepare_context() click to toggle source
# File lib/mike.rb, line 37
def prepare_context
  Env.instance_methods(false).each { |meth|
    @js.set :print, Env.instance_method(meth)
  }
end
process_scripts() click to toggle source
# File lib/mike.rb, line 43
def process_scripts
  scripts.each { |script|
    unless script.attributes["src"].empty?
      @js.load(script.attributes["src"])
    else
      @js.eval(script.html)
    end
  }
end