class Middleman
def self.run!(options={}, &block)
def self.run!(options={}, &block) set options handler = detect_rack_handler handler_name = handler.name.gsub(/.*::/, '') puts "== The Middleman is standing watch on port #{port}" handler.run self, :Host => host, :Port => port do |server| trap(:INT) do ## Use thins' hard #stop! if available, otherwise just #stop server.respond_to?(:stop!) ? server.stop! : server.stop puts "\n== The Middleman has ended his patrol" end if block_given? block.call ## Use thins' hard #stop! if available, otherwise just #stop server.respond_to?(:stop!) ? server.stop! : server.stop end end rescue Errno::EADDRINUSE => e puts "== The Middleman is already standing watch on port #{port}!" end
def link_to(title, url="#", params={})
def link_to(title, url="#", params={}) params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ') %Q{<a href="#{url}" #{params}>#{title}</a>} end
def page_classes(*additional)
def page_classes(*additional) classes = [] parts = @full_request_path.split('.')[0].split('/') parts.each_with_index { |path, i| classes << parts.first(i+1).join('_') } classes << "index" if classes.empty? classes += additional unless additional.empty? classes.join(' ') end
def sprite(name)
def sprite(name) image_tag("spacer.gif", :class => "#{name}-img") end