config.ru in chef-server-webui-0.8.16 vs config.ru in chef-server-webui-0.9.0.a3

- old
+ new

@@ -1,84 +1,20 @@ require 'rubygems' require 'merb-core' +require 'chef' -Dir.chdir(::File.dirname(__FILE__)) +#Chef::Config.from_file(File.join("/etc", "chef", "server.rb")) +Chef::Config.from_file(File.expand_path(File.dirname(__FILE__) + '/../features/data/config/server.rb')) -Merb::Config.setup(:merb_root => ::File.expand_path(::File.dirname(__FILE__)), - :environment => ENV['RACK_ENV'] || "development", - :fork_for_class_load => false, - :init_file => ::File.dirname(__FILE__) / "config/init.rb") +Merb::Config.setup(:merb_root => File.expand_path(File.dirname(__FILE__)), + :environment => 'production', + :fork_for_class_load => false) + Merb.environment = Merb::Config[:environment] Merb.root = Merb::Config[:merb_root] +Merb::BootLoader.run -# Uncomment if your app is mounted at a suburi -#if prefix = ::Merb::Config[:path_prefix] -# use Merb::Rack::PathPrefix, prefix -#end +use Merb::Rack::Static, Merb.dir_for(:public) -# comment this out if you are running merb behind a load balancer -# that serves static files -# use Merb::Rack::Static, Merb.dir_for(:public) -use Merb::Rack::Static, Merb.root+"/public" +run Merb::Rack::Application.new -require 'merb-slices' -slice_name = "chef-server-webui" -if ::File.exists?(slice_file = ::File.join(Merb.root, 'lib', "#{slice_name}.rb")) - Merb::BootLoader.before_app_loads do - $SLICE_MODULE = Merb::Slices.filename2module(slice_file) - require slice_file - end - Merb::BootLoader.after_app_loads do - # See Merb::Slices::ModuleMixin - $SLICE_MODULE is used as a flag - Merb::Router.prepare do - slice($SLICE_MODULE) - slice_id = slice_name.gsub('-', '_').to_sym - slice_routes = Merb::Slices.named_routes[slice_id] || {} - - # Setup a / root path matching route - try several defaults - route = slice_routes[:home] || slice_routes[:index] - if route - params = route.params.inject({}) do |hsh,(k,v)| - hsh[k] = v.gsub("\"", '') if k == :controller || k == :action - hsh - end - match('/').to(params) - else - match('/').to(:controller => 'merb_slices', :action => 'index') - end - end - end -else - puts "No slice found (expected: #{slice_name})" - exit -end - -class ::MerbSlices < Merb::Controller - - def index - html = "<h1>#{slice.name}</h1><p>#{slice.description}</p>" - html << "<h2>Routes</h2><ul>" - sorted_names = slice.named_routes.keys.map { |k| [k.to_s, k] }.sort_by { |pair| pair.first } - sorted_names.each do |_, name| - if name != :default && (route = slice.named_routes[name]) - if name == :index - html << %Q[<li><a href="#{url(route.name)}" title="visit #{name}">#{name}: #{route.inspect}</a></li>] - else - html << %Q[<li>#{name}: #{route.inspect}</li>] - end - end - end - html << "</ul>" - html - end - - private - - def slice - @slice ||= Merb::Slices.slices.first - end - -end - -Merb::BootLoader.run -run Merb::Rack::Application.new