summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jacob <adam@hjksolutions.com>2008-05-19 01:44:05 -0700
committerAdam Jacob <adam@hjksolutions.com>2008-05-19 01:44:05 -0700
commit4ce7356d6d08cf02dde23b6e2fe2066a26ec45b2 (patch)
tree9e9953b6240efe270603a19151d91c9c8a0508dc
parenta125c8a450c4368bfdb1668679dd7153d53757c6 (diff)
downloadchef-4ce7356d6d08cf02dde23b6e2fe2066a26ec45b2.tar.gz
Working on network layer
-rwxr-xr-xbin/chef-indexer87
-rw-r--r--bin/chef-server12
-rwxr-xr-xbin/chef-solo1
-rw-r--r--examples/config/chef-solo.rb1
-rw-r--r--examples/config/cookbooks/fakefile/recipes/default.rb8
-rw-r--r--examples/config/nodes/adam.rb14
-rw-r--r--lib/chef.rb2
-rw-r--r--lib/chef/compile.rb1
-rw-r--r--lib/chef/config.rb6
-rw-r--r--lib/chef/cookbook.rb1
-rw-r--r--lib/chef/cookbook_loader.rb6
-rw-r--r--lib/chef/file_store.rb99
-rw-r--r--lib/chef/mixin/params_validate.rb2
-rw-r--r--lib/chef/node.rb32
-rw-r--r--lib/chef/queue.rb109
-rw-r--r--lib/chef/resource.rb26
-rw-r--r--lib/chef/resource_collection.rb20
-rw-r--r--lib/chef/search_index.rb70
-rw-r--r--packages/chef-server/Rakefile34
-rw-r--r--packages/chef-server/app/controllers/application.rb2
-rw-r--r--packages/chef-server/app/controllers/exceptions.rb20
-rw-r--r--packages/chef-server/app/controllers/nodes.rb85
-rw-r--r--packages/chef-server/app/controllers/openid_consumer.rb66
-rw-r--r--packages/chef-server/app/controllers/openid_login.rb42
-rw-r--r--packages/chef-server/app/controllers/openid_server.rb224
-rw-r--r--packages/chef-server/app/helpers/global_helpers.rb17
-rw-r--r--packages/chef-server/app/helpers/nodes_helper.rb19
-rw-r--r--packages/chef-server/app/helpers/openid_server_helpers.rb9
-rw-r--r--packages/chef-server/app/views/exceptions/bad_request.json.erb1
-rw-r--r--packages/chef-server/app/views/exceptions/internal_server_error.html.erb216
-rw-r--r--packages/chef-server/app/views/exceptions/not_acceptable.html.erb63
-rw-r--r--packages/chef-server/app/views/exceptions/not_found.html.erb47
-rw-r--r--packages/chef-server/app/views/layout/application.html.haml15
-rw-r--r--packages/chef-server/app/views/nodes/_node.html.haml11
-rw-r--r--packages/chef-server/app/views/nodes/_resource.html.haml23
-rw-r--r--packages/chef-server/app/views/nodes/compile.html.haml5
-rw-r--r--packages/chef-server/app/views/nodes/index.html.haml5
-rw-r--r--packages/chef-server/app/views/nodes/show.html.haml1
-rw-r--r--packages/chef-server/app/views/openid_login/index.html.haml6
-rw-r--r--packages/chef-server/autotest/discover.rb1
-rw-r--r--packages/chef-server/autotest/merb.rb149
-rw-r--r--packages/chef-server/autotest/merb_rspec.rb223
-rw-r--r--packages/chef-server/config/chef-server.rb9
-rw-r--r--packages/chef-server/config/environments/development.rb7
-rw-r--r--packages/chef-server/config/environments/production.rb7
-rw-r--r--packages/chef-server/config/environments/rake.rb7
-rw-r--r--packages/chef-server/config/environments/test.rb6
-rw-r--r--packages/chef-server/config/init.rb152
-rw-r--r--packages/chef-server/config/rack.rb1
-rw-r--r--packages/chef-server/config/router.rb50
-rw-r--r--packages/chef-server/log/merb_test.log3859
-rw-r--r--packages/chef-server/public/images/merb.jpgbin0 -> 5815 bytes
-rw-r--r--packages/chef-server/public/merb.fcgi22
-rw-r--r--packages/chef-server/public/stylesheets/master.css153
-rw-r--r--packages/chef-server/spec/controllers/nodes_spec.rb206
-rw-r--r--packages/chef-server/spec/helpers/nodes_helpers.rb5
-rw-r--r--packages/chef-server/spec/spec.opts0
-rw-r--r--packages/chef-server/spec/spec_helper.rb11
-rw-r--r--packages/chef-server/spec/views/nodes/delete.html.erb_spec.rb1
-rw-r--r--packages/chef-server/spec/views/nodes/edit.html.erb_spec.rb1
-rw-r--r--packages/chef-server/spec/views/nodes/index.html.erb_spec.rb1
-rw-r--r--packages/chef-server/spec/views/nodes/new.html.erb_spec.rb1
-rw-r--r--packages/chef-server/spec/views/nodes/show.html.erb_spec.rb1
-rw-r--r--spec/unit/config_spec.rb6
-rw-r--r--spec/unit/file_store_spec.rb95
-rw-r--r--spec/unit/node_spec.rb25
-rw-r--r--spec/unit/queue_spec.rb107
-rw-r--r--spec/unit/resource_collection_spec.rb14
-rw-r--r--spec/unit/resource_spec.rb12
-rw-r--r--spec/unit/search_index_spec.rb57
70 files changed, 6570 insertions, 27 deletions
diff --git a/bin/chef-indexer b/bin/chef-indexer
new file mode 100755
index 0000000000..bb5d181599
--- /dev/null
+++ b/bin/chef-indexer
@@ -0,0 +1,87 @@
+#!/usr/bin/ruby
+#
+# ./chef-indexer - Build indexes from Chef Queues!
+#
+# Author:: Adam Jacob (<adam@hjksolutions.com>)
+# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
+# License:: GNU General Public License version 2 or later
+#
+# This program and entire repository is free software; you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+$: << File.join(File.dirname(__FILE__), "..", "lib")
+
+require 'optparse'
+require 'chef'
+require 'rubygems'
+require 'facter'
+
+config = {
+ :config_file => "/etc/chef/config.rb",
+ :log_level => :info
+}
+opts = OptionParser.new do |opts|
+ opts.banner = "Usage: #{$0} [-d DIR|-r FILE] (options)"
+ opts.on("-c CONFIG", "--config CONFIG", "The Chef Config file to use") do |c|
+ config[:config_file] = c
+ end
+ opts.on_tail("-l LEVEL", "--loglevel LEVEL", "Set the log level (debug, info, warn, error, fatal)") do |l|
+ config[:log_level] = l.to_sym
+ end
+ opts.on_tail("-h", "--help", "Show this message") do
+ puts opts
+ exit
+ end
+end
+opts.parse!(ARGV)
+
+unless File.exists?(config[:config_file]) && File.readable?(config[:config_file])
+ puts "I cannot find or read the config file: #{config[:config_file]}"
+ puts opts
+ exit
+end
+
+# Load our config file
+Chef::Config.from_file(config[:config_file])
+if config[:log_level]
+ Chef::Log.level(config[:log_level].to_sym)
+end
+
+# Get a Chef::SearchIndex object
+indexer = Chef::SearchIndex.new
+Chef::Queue.connect
+Chef::Queue.subscribe(:queue, "node_index")
+Chef::Queue.subscribe(:queue, "node_remove")
+while 1
+ begin
+ object, headers = Chef::Queue.receive_msg
+ if headers["destination"] =~ /index$/
+ start_timer = Time.new
+ indexer.add(object)
+ final_timer = Time.new
+ Chef::Log.info("Indexed object from #{headers['destination']} in #{final_timer - start_timer} seconds")
+ elsif headers["destination"] =~ /remove$/
+ start_timer = Time.new
+ indexer.delete(object)
+ final_timer = Time.new
+ Chef::Log.info("Removed object from #{headers['destination']} in #{final_timer - start_timer} seconds")
+ end
+ rescue Exception => e
+ if e.kind_of?(Interrupt)
+ raise e
+ end
+ Chef::Log.error("Received Exception: #{e.to_str} continuing")
+ end
+end
diff --git a/bin/chef-server b/bin/chef-server
new file mode 100644
index 0000000000..8b264ec5a7
--- /dev/null
+++ b/bin/chef-server
@@ -0,0 +1,12 @@
+#!/usr/bin/env ruby
+require "merb-core"
+
+if ARGV[0] && ARGV[0] =~ /^[^-]/
+ ARGV.push "-H"
+end
+
+unless %w[-a --adapter -i --irb-console -r --script-runner].any? { |o| ARGV.index(o) }
+ ARGV.push *%w[-a mongrel]
+end
+
+Merb.start
diff --git a/bin/chef-solo b/bin/chef-solo
index 747c672b32..8fa9c1ee3e 100755
--- a/bin/chef-solo
+++ b/bin/chef-solo
@@ -27,7 +27,6 @@ require 'optparse'
require 'chef'
require 'rubygems'
require 'facter'
-require 'yaml'
config = {
:config_file => "/etc/chef/config.rb",
diff --git a/examples/config/chef-solo.rb b/examples/config/chef-solo.rb
index 6e98fbbc22..28a40d0d96 100644
--- a/examples/config/chef-solo.rb
+++ b/examples/config/chef-solo.rb
@@ -3,6 +3,7 @@
cookbook_path File.join(File.dirname(__FILE__), "cookbooks")
node_path File.join(File.dirname(__FILE__), "nodes")
+search_index_path File.join(File.dirname(__FILE__), "..", "search_index")
log_level :info
Chef::Log::Formatter.show_time = false
diff --git a/examples/config/cookbooks/fakefile/recipes/default.rb b/examples/config/cookbooks/fakefile/recipes/default.rb
index ae52a405c6..3d126518f5 100644
--- a/examples/config/cookbooks/fakefile/recipes/default.rb
+++ b/examples/config/cookbooks/fakefile/recipes/default.rb
@@ -9,3 +9,11 @@ link "/tmp/foo" do
link_type :symbolic
target_file "/tmp/xmen"
end
+
+0.upto(1000) do |n|
+ file "/tmp/somefile#{n}" do
+ owner "adam"
+ mode 0644
+ action :create
+ end
+end \ No newline at end of file
diff --git a/examples/config/nodes/adam.rb b/examples/config/nodes/adam.rb
new file mode 100644
index 0000000000..c3e8e4bc16
--- /dev/null
+++ b/examples/config/nodes/adam.rb
@@ -0,0 +1,14 @@
+##
+# Nodes should have a unique name
+##
+name "adam"
+
+##
+# Nodes can set arbitrary arguments
+##
+owner "Adam Jacob"
+
+##
+# Nodes should have recipes
+##
+recipes "tempfile", "fakefile"
diff --git a/lib/chef.rb b/lib/chef.rb
index dc61e950a0..18e34e0ffb 100644
--- a/lib/chef.rb
+++ b/lib/chef.rb
@@ -19,7 +19,7 @@
require 'rubygems'
-Dir[File.join(File.dirname(__FILE__), 'chef/**/*.rb')].sort.each { |lib| require lib }
+Dir[File.join(File.dirname(__FILE__), 'chef/**/*.rb')].sort.each { |lib| require lib unless lib =~ /server/ }
class Chef
VERSION = '0.0.1'
diff --git a/lib/chef/compile.rb b/lib/chef/compile.rb
index e974852426..5cd200b098 100644
--- a/lib/chef/compile.rb
+++ b/lib/chef/compile.rb
@@ -35,6 +35,7 @@ class Chef
end
def load_node(name)
+ Chef::Log.debug("Loading Chef Node #{name}")
@node = Chef::Node.find(name)
end
diff --git a/lib/chef/config.rb b/lib/chef/config.rb
index 4793011fb4..807631aedb 100644
--- a/lib/chef/config.rb
+++ b/lib/chef/config.rb
@@ -39,6 +39,8 @@ class Chef
@configuration = {
:cookbook_path => [ "/etc/chef/site-cookbook", "/etc/chef/cookbook" ],
:node_path => "/etc/chef/node",
+ :file_store_path => "/var/lib/chef/store",
+ :search_index_path => "/var/lib/chef/search_index",
:log_level => :info,
:log_location => STDOUT
}
@@ -61,6 +63,10 @@ class Chef
def []=(config_option, value)
@configuration[config_option.to_sym] = value
end
+
+ def has_key?(key)
+ @configuration.has_key?(key.to_sym)
+ end
def method_missing(method_symbol, *args)
if @configuration.has_key?(method_symbol)
diff --git a/lib/chef/cookbook.rb b/lib/chef/cookbook.rb
index 39013069ca..ed9b75a1d9 100644
--- a/lib/chef/cookbook.rb
+++ b/lib/chef/cookbook.rb
@@ -47,6 +47,7 @@ class Chef
def load_definitions
results = Hash.new
@definition_files.each do |file|
+ Chef::Log.debug("Loading cookbook #{name}'s definitions from #{file}")
resourcedef = Chef::ResourceDefinition.new
resourcedef.from_file(file)
results[resourcedef.name] = resourcedef
diff --git a/lib/chef/cookbook_loader.rb b/lib/chef/cookbook_loader.rb
index 24ec01e574..95edecfab8 100644
--- a/lib/chef/cookbook_loader.rb
+++ b/lib/chef/cookbook_loader.rb
@@ -72,7 +72,11 @@ class Chef
end
def [](cookbook)
- @cookbook[cookbook.to_sym]
+ if @cookbook.has_key?(cookbook.to_sym)
+ @cookbook[cookbook.to_sym]
+ else
+ raise ArgumentError, "Cannot find a cookbook named #{cookbook.to_s}"
+ end
end
def each
diff --git a/lib/chef/file_store.rb b/lib/chef/file_store.rb
new file mode 100644
index 0000000000..b834624090
--- /dev/null
+++ b/lib/chef/file_store.rb
@@ -0,0 +1,99 @@
+require File.join(File.dirname(__FILE__), "mixin", "params_validate")
+require 'digest/sha2'
+require 'json'
+
+class Chef
+ class FileStore
+ class << self
+ include Chef::Mixin::ParamsValidate
+
+ def store(obj_type, name, object)
+ validate(
+ {
+ :obj_type => obj_type,
+ :name => name,
+ :object => object,
+ },
+ {
+ :object => { :respond_to => :to_json },
+ }
+ )
+
+ store_path = create_store_path(obj_type, name)
+ io = File.open(store_path, "w")
+ io.puts object.to_json
+ io.close
+ end
+
+ def load(obj_type, name)
+ validate(
+ {
+ :obj_type => obj_type,
+ :name => name,
+ },
+ {
+ :obj_type => { :kind_of => String },
+ :name => { :kind_of => String },
+ }
+ )
+ store_path = create_store_path(obj_type, name)
+ raise "Cannot find #{store_path} for #{obj_type} #{name}!" unless File.exists?(store_path)
+
+ object = JSON.parse(IO.read(store_path))
+ end
+
+ def delete(obj_type, name)
+ validate(
+ {
+ :obj_type => obj_type,
+ :name => name,
+ },
+ {
+ :obj_type => { :kind_of => String },
+ :name => { :kind_of => String },
+ }
+ )
+ store_path = create_store_path(obj_type, name)
+ if File.exists?(store_path)
+ File.unlink(store_path)
+ end
+ end
+
+ def list(obj_type)
+ validate(
+ {
+ :obj_type => obj_type,
+ },
+ {
+ :obj_type => { :kind_of => String }
+ }
+ )
+ keys = Array.new
+ Dir[File.join(Chef::Config[:file_store_path], obj_type, '**', '*')].each do |f|
+ if File.file?(f)
+ keys << File.basename(f)
+ end
+ end
+ keys
+ end
+
+ def create_store_path(obj_type, key)
+ shadigest = Digest::SHA2.hexdigest("#{obj_type}#{key}")
+
+ file_path = [
+ Chef::Config[:file_store_path],
+ obj_type,
+ shadigest[0,1],
+ shadigest[1,3]
+ ]
+ file_path.each_index do |i|
+ create_path = File.join(file_path[0, i + 1])
+ Dir.mkdir(create_path) unless File.directory?(create_path)
+ end
+ file_path << key
+ File.join(*file_path)
+ end
+
+ end
+ end
+end \ No newline at end of file
diff --git a/lib/chef/mixin/params_validate.rb b/lib/chef/mixin/params_validate.rb
index 741e932006..2f6e432024 100644
--- a/lib/chef/mixin/params_validate.rb
+++ b/lib/chef/mixin/params_validate.rb
@@ -155,7 +155,7 @@ class Chef
def _pv_respond_to(opts, key, method_name_list)
value = _pv_opts_lookup(opts, key)
if value != nil
- method_name_list.to_a.each do |method_name|
+ [ method_name_list ].flatten.each do |method_name|
unless value.respond_to?(method_name)
raise ArgumentError, "Option #{key} must have a #{method_name} method!"
end
diff --git a/lib/chef/node.rb b/lib/chef/node.rb
index f8adf5983f..236bd2f9e1 100644
--- a/lib/chef/node.rb
+++ b/lib/chef/node.rb
@@ -165,21 +165,29 @@ class Chef
end
end
- # Serialize this Node as json
- def to_json()
- result_object = {
+ # Serialize this object as a hash
+ def to_json(*a)
+ attributes = Hash.new
+ recipes = Array.new
+ {
"name" => @name,
- "type" => "Chef::Node",
- "attributes" => Hash.new,
- "recipes" => Array.new
- }
- each_attribute do |a,v|
- result_object["attributes"][a] = v
+ 'json_class' => self.class.name,
+ "attributes" => @attribute,
+ "recipes" => @recipe_list,
+ }.to_json(*a)
+ end
+
+ def self.json_create(o)
+ node = new
+ node.name(o["name"])
+ o["attributes"].each do |k,v|
+ node[k] = v
end
- recipes.each do |r|
- result_object["recipes"] << r
+ o["recipes"].each do |r|
+ node.recipes << r
end
- result_object.to_json
+
+ node
end
# As a string
diff --git a/lib/chef/queue.rb b/lib/chef/queue.rb
new file mode 100644
index 0000000000..795670d79a
--- /dev/null
+++ b/lib/chef/queue.rb
@@ -0,0 +1,109 @@
+#
+# Author:: Adam Jacob (<adam@hjksolutions.com>)
+# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
+# License:: GNU General Public License version 2 or later
+#
+# This program and entire repository is free software; you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+require File.join(File.dirname(__FILE__), "mixin", "params_validate")
+
+class Chef
+ class Queue
+ require 'stomp'
+
+ @client = nil
+
+ class << self
+ include Chef::Mixin::ParamsValidate
+
+ def connect
+ @client = Stomp::Connection.open(
+ Chef::Config.has_key?(:queue_user) ? Chef::Config[:queue_user] : "",
+ Chef::Config.has_key?(:queue_password) ? Chef::Config[:queue_password] : "",
+ Chef::Config.has_key?(:queue_host) ? Chef::Config[:queue_host] : "localhost",
+ Chef::Config.has_key?(:queue_port) ? Chef::Config[:queue_port] : 61613,
+ false
+ )
+ end
+
+ def make_url(type, name)
+ validate(
+ {
+ :queue_type => type.to_sym,
+ :queue_name => name.to_sym,
+ },
+ {
+ :queue_type => {
+ :equal_to => [ :topic, :queue ],
+ },
+ :queue_name => {
+ :kind_of => [ String, Symbol ],
+ }
+ }
+ )
+ queue_url = "/#{type}/chef/#{name}"
+ end
+
+ def subscribe(type, name)
+ queue_url = make_url(type, name)
+ Chef::Log.debug("Subscribing to #{queue_url}")
+ connect if @client == nil
+ @client.subscribe(queue_url)
+ end
+
+ def send_msg(type, name, msg)
+ validate(
+ {
+ :message => msg,
+ },
+ {
+ :message => {
+ :respond_to => :to_json
+ }
+ }
+ )
+ queue_url = make_url(type, name)
+ json = msg.to_json
+ connect if @client == nil
+ Chef::Log.debug("Sending to #{queue_url}: #{json}")
+ @client.send(queue_url, json)
+ end
+
+ def receive_msg
+ connect if @client == nil
+ raw_msg = @client.receive()
+ Chef::Log.debug("Received Message from #{raw_msg.headers["destination"]} containing: #{raw_msg.body}")
+ msg = JSON.parse(raw_msg.body)
+ return msg, raw_msg.headers
+ end
+
+ def poll_msg
+ connect if @client == nil
+ raw_msg = @client.poll()
+ if raw_msg
+ msg = JSON.parse(raw_msg.body)
+ else
+ nil
+ end
+ end
+
+ def disconnect
+ raise ArgumentError, "You must call connect before you can disconnect!" unless @client
+ @client.disconnect
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb
index afff713ba6..705738fe59 100644
--- a/lib/chef/resource.rb
+++ b/lib/chef/resource.rb
@@ -28,8 +28,8 @@ class Chef
include Chef::Mixin::CheckHelper
include Chef::Mixin::ParamsValidate
- attr_accessor :tag, :actions, :params, :provider, :updated, :allowed_actions
- attr_reader :resource_name, :collection
+ attr_accessor :actions, :params, :provider, :updated, :allowed_actions
+ attr_reader :resource_name, :collection, :source_line
def initialize(name, collection=nil)
@name = name
@@ -38,7 +38,6 @@ class Chef
else
@collection = Chef::ResourceCollection.new()
end
- @tag = [ name.to_s ]
@noop = nil
@before = nil
@actions = Hash.new
@@ -47,6 +46,7 @@ class Chef
@allowed_actions = [ :nothing ]
@action = :nothing
@updated = false
+ @source_line = caller(4).shift.gsub!(/^(.+):(.+):.+$/, '\1 line \2')
end
def action(arg=nil)
@@ -118,6 +118,26 @@ class Chef
"#{@resource_name}[#{@name}]"
end
+ # Serialize this object as a hash
+ def to_json(*a)
+ instance_vars = Hash.new
+ self.instance_variables.each do |iv|
+ instance_vars[iv] = self.instance_variable_get(iv) unless iv == "@collection"
+ end
+ {
+ 'json_class' => self.class.name,
+ 'instance_vars' => instance_vars
+ }.to_json(*a)
+ end
+
+ def self.json_create(o)
+ resource = self.new(o["instance_vars"]["@name"])
+ o["instance_vars"].each do |k,v|
+ resource.instance_variable_set(k.to_sym, v)
+ end
+ resource
+ end
+
private
def check_timing(timing)
diff --git a/lib/chef/resource_collection.rb b/lib/chef/resource_collection.rb
index 5728fdd3e9..362781ea0e 100644
--- a/lib/chef/resource_collection.rb
+++ b/lib/chef/resource_collection.rb
@@ -111,6 +111,26 @@ class Chef
flat_results = results.flatten
flat_results.length == 1 ? flat_results[0] : flat_results
end
+
+ # Serialize this object as a hash
+ def to_json(*a)
+ instance_vars = Hash.new
+ self.instance_variables.each do |iv|
+ instance_vars[iv] = self.instance_variable_get(iv)
+ end
+ {
+ 'json_class' => self.class.name,
+ 'instance_vars' => instance_vars
+ }.to_json(*a)
+ end
+
+ def self.json_create(o)
+ collection = self.new()
+ o["instance_vars"].each do |k,v|
+ collection.instance_variable_set(k.to_sym, v)
+ end
+ collection
+ end
private
diff --git a/lib/chef/search_index.rb b/lib/chef/search_index.rb
new file mode 100644
index 0000000000..6af408b68c
--- /dev/null
+++ b/lib/chef/search_index.rb
@@ -0,0 +1,70 @@
+#
+# Author:: Adam Jacob (<adam@hjksolutions.com>)
+# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
+# License:: GNU General Public License version 2 or later
+#
+# This program and entire repository is free software; you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+require File.join(File.dirname(__FILE__), "mixin", "params_validate")
+require 'ferret'
+
+class Chef
+ class SearchIndex
+
+ def initialize
+ @index = Ferret::Index::Index.new(
+ :path => Chef::Config[:search_index_path],
+ :key => [ :id ]
+ )
+ end
+
+ def add(to_index)
+ type = check_type(to_index)
+ result = self.send("_prepare_#{type}", to_index)
+ Chef::Log.debug("Indexing #{type} with #{result.inspect}")
+ @index.add_document(result)
+ end
+
+ def delete(index_obj)
+ type = check_type(index_obj)
+ to_index = self.send("_prepare_#{type}", index_obj)
+ Chef::Log.debug("Removing #{type} with #{to_index.inspect}")
+ @index.delete(:id => "#{to_index[:id]}")
+ end
+
+ private
+
+ def check_type(to_check)
+ type = nil
+ case to_check
+ when Chef::Node
+ type = "node"
+ end
+ end
+
+ def _prepare_node(node)
+ result = Hash.new
+ result[:id] = "node-#{node.name}"
+ result[:type] = "node"
+ result[:name] = node.name
+ node.each_attribute do |k,v|
+ result[k.to_sym] = v
+ end
+ result[:recipe] = node.recipes
+ result
+ end
+ end
+end \ No newline at end of file
diff --git a/packages/chef-server/Rakefile b/packages/chef-server/Rakefile
new file mode 100644
index 0000000000..8ca9181536
--- /dev/null
+++ b/packages/chef-server/Rakefile
@@ -0,0 +1,34 @@
+require 'rubygems'
+Gem.clear_paths
+Gem.path.unshift(File.join(File.dirname(__FILE__), "gems"))
+
+require 'rake'
+require 'rake/rdoctask'
+require 'rake/testtask'
+require 'spec/rake/spectask'
+require 'fileutils'
+require 'merb-core'
+require 'rubigen'
+include FileUtils
+
+# Load the basic runtime dependencies; this will include
+# any plugins and therefore plugin rake tasks.
+init_env = ENV['MERB_ENV'] || 'rake'
+Merb.load_dependencies(:environment => init_env)
+
+# Get Merb plugins and dependencies
+Merb::Plugins.rakefiles.each { |r| require r }
+
+desc "start runner environment"
+task :merb_env do
+ Merb.start_environment(:environment => init_env, :adapter => 'runner')
+end
+
+##############################################################################
+# ADD YOUR CUSTOM TASKS BELOW
+##############################################################################
+
+desc "Add new files to subversion"
+task :svn_add do
+ system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add"
+end
diff --git a/packages/chef-server/app/controllers/application.rb b/packages/chef-server/app/controllers/application.rb
new file mode 100644
index 0000000000..5ce39a0102
--- /dev/null
+++ b/packages/chef-server/app/controllers/application.rb
@@ -0,0 +1,2 @@
+class Application < Merb::Controller
+end \ No newline at end of file
diff --git a/packages/chef-server/app/controllers/exceptions.rb b/packages/chef-server/app/controllers/exceptions.rb
new file mode 100644
index 0000000000..7f72e57ad2
--- /dev/null
+++ b/packages/chef-server/app/controllers/exceptions.rb
@@ -0,0 +1,20 @@
+class Exceptions < Application
+
+ provides :html, :json
+
+ # handle NotFound exceptions (404)
+ def not_found
+ display params
+ end
+
+ # handle NotAcceptable exceptions (406)
+ def not_acceptable
+ display params
+ end
+
+ # handle BadRequest exceptions (400)
+ def bad_request
+ display params
+ end
+
+end \ No newline at end of file
diff --git a/packages/chef-server/app/controllers/nodes.rb b/packages/chef-server/app/controllers/nodes.rb
new file mode 100644
index 0000000000..f9af3fdc57
--- /dev/null
+++ b/packages/chef-server/app/controllers/nodes.rb
@@ -0,0 +1,85 @@
+class Nodes < Application
+
+ provides :html, :json
+
+ before :fix_up_node_id
+
+ def index
+ @node_list = Chef::FileStore.list("node")
+ display @node_list
+ end
+
+ def show
+ begin
+ @node = Chef::FileStore.load("node", params[:id])
+ rescue RuntimeError => e
+ raise BadRequest, "Cannot load node #{params[:id]}"
+ end
+ display @node
+ end
+
+ def create
+ @node = params.has_key?("inflated_object") ? params["inflated_object"] : nil
+ if @node
+ @status = 202
+ Chef::FileStore.store("node", @node.name, @node)
+ Chef::Queue.send_msg(:queue, :node_index, @node)
+ display @node
+ else
+ raise BadRequest, "You must provide a Node to create"
+ end
+ end
+
+ def update
+ @node = params.has_key?("inflated_object") ? params["inflated_object"] : nil
+ if @node
+ @status = 202
+ Chef::FileStore.store("node", @node.name, @node)
+ Chef::Queue.send_msg(:queue, :node_index, @node)
+ display @node
+ else
+ raise BadRequest, "You must provide a Node to update"
+ end
+ end
+
+ def destroy
+ begin
+ @node = Chef::FileStore.load("node", params[:id])
+ rescue RuntimeError => e
+ raise BadRequest, "Node #{params[:id]} does not exist to destroy!"
+ end
+ @status = 202
+ Chef::FileStore.delete("node", params[:id])
+ Chef::Queue.send_msg(:queue, :node_remove, @node)
+ display @node
+ end
+
+ def compile
+ # Grab a Chef::Compile object
+ compile = Chef::Compile.new()
+ compile.load_node(params[:id])
+
+ stored_node = Chef::FileStore.load("node", params[:id])
+
+ stored_node.each_attribute do |field, value|
+ compile.node[field] = value
+ end
+ stored_node.recipes.each do |r|
+ compile.node.recipes << r unless compile.node.recipes.detect { |h| r == h }
+ end
+ compile.load_definitions
+ compile.load_recipes
+ @output = {
+ :node => compile.node,
+ :collection => compile.collection,
+ }
+ display @output
+ end
+
+ def fix_up_node_id
+ if params.has_key?(:id)
+ params[:id].gsub!(/_/, '.')
+ end
+ end
+
+end
diff --git a/packages/chef-server/app/controllers/openid_consumer.rb b/packages/chef-server/app/controllers/openid_consumer.rb
new file mode 100644
index 0000000000..5b3142262e
--- /dev/null
+++ b/packages/chef-server/app/controllers/openid_consumer.rb
@@ -0,0 +1,66 @@
+require 'pathname'
+
+require "openid"
+require 'openid/store/filesystem'
+
+class OpenidConsumer < Application
+ layout nil
+
+ def index
+ # render an openid form
+ end
+
+ def start
+ begin
+ oidreq = consumer.begin(params[:openid_identifier])
+ rescue OpenID::OpenIDError => e
+ flash[:error] = "Discovery failed for #{params[:openid_identifier]}: #{e}"
+ redirect_to :action => 'index'
+ return
+ end
+ return_to = url_for :action => 'complete', :only_path => false
+ realm = url_for :action => 'index', :only_path => false
+
+ if oidreq.send_redirect?(realm, return_to, params[:immediate])
+ redirect_to oidreq.redirect_url(realm, return_to, params[:immediate])
+ else
+ @form_text = oidreq.form_markup(realm, return_to, params[:immediate], {'id' => 'openid_form'})
+ end
+ end
+
+ def complete
+ # FIXME - url_for some action is not necessarily the current URL.
+ current_url = url_for(:action => 'complete', :only_path => false)
+ parameters = params.reject{|k,v|request.path_parameters[k]}
+ oidresp = consumer.complete(parameters, current_url)
+ case oidresp.status
+ when OpenID::Consumer::FAILURE
+ if oidresp.display_identifier
+ flash[:error] = ("Verification of #{oidresp.display_identifier}"\
+ " failed: #{oidresp.message}")
+ else
+ flash[:error] = "Verification failed: #{oidresp.message}"
+ end
+ when OpenID::Consumer::SUCCESS
+ flash[:success] = ("Verification of #{oidresp.display_identifier}"\
+ " succeeded.")
+ when OpenID::Consumer::SETUP_NEEDED
+ flash[:alert] = "Immediate request failed - Setup Needed"
+ when OpenID::Consumer::CANCEL
+ flash[:alert] = "OpenID transaction cancelled."
+ else
+ end
+ redirect_to :action => 'index'
+ end
+
+ private
+
+ def consumer
+ if @consumer.nil?
+ dir = Pathname.new(RAILS_ROOT).join('db').join('cstore')
+ store = OpenID::Store::Filesystem.new(dir)
+ @consumer = OpenID::Consumer.new(session, store)
+ end
+ return @consumer
+ end
+end
diff --git a/packages/chef-server/app/controllers/openid_login.rb b/packages/chef-server/app/controllers/openid_login.rb
new file mode 100644
index 0000000000..dfb621ca5c
--- /dev/null
+++ b/packages/chef-server/app/controllers/openid_login.rb
@@ -0,0 +1,42 @@
+# Controller for handling the login, logout process for "users" of our
+# little server. Users have no password. This is just an example.
+
+require 'openid'
+
+class OpenidLogin < Application
+
+ provides :html, :json
+
+ def index
+ @headers['X-XRDS-Location'] = url(:controller => "server",
+ :action => "idp_xrds",
+ :only_path => false)
+ display({ })
+ end
+
+ def submit
+ user = params[:username]
+
+ # if we get a user, log them in by putting their username in
+ # the session hash.
+ unless user.nil?
+ session[:username] = user unless user.nil?
+ session[:approvals] = []
+ session[:notice] = "Your OpenID URL is <b>
+ #{url(:controller => "openid_server", :action => "user_page", :username => params[:username])}
+ </b><br/><br/>Proceed to step 2 below."
+ else
+ session[:error] = "Sorry, couldn't log you in. Try again."
+ end
+
+ redirect url(:controller => "openid_login")
+ end
+
+ def logout
+ # delete the username from the session hash
+ session[:username] = nil
+ session[:approvals] = nil
+ redirect url(:controller => "openid_login")
+ end
+
+end
diff --git a/packages/chef-server/app/controllers/openid_server.rb b/packages/chef-server/app/controllers/openid_server.rb
new file mode 100644
index 0000000000..aa0d59ab61
--- /dev/null
+++ b/packages/chef-server/app/controllers/openid_server.rb
@@ -0,0 +1,224 @@
+require 'pathname'
+
+# load the openid library, first trying rubygems
+#begin
+# require "rubygems"
+# require_gem "ruby-openid", ">= 1.0"
+#rescue LoadError
+require "openid"
+require "openid/consumer/discovery"
+require 'openid/store/filesystem'
+#end
+
+class OpenidServer < Application
+
+ include Merb::OpenidServerHelper
+ include OpenID::Server
+ layout nil
+
+ def index
+ oidreq = server.decode_request(params)
+
+ # no openid.mode was given
+ unless oidreq
+ render :text => "This is an OpenID server endpoint."
+ return
+ end
+
+ oidresp = nil
+
+ if oidreq.kind_of?(CheckIDRequest)
+
+ identity = oidreq.identity
+
+ if oidreq.id_select
+ if oidreq.immediate
+ oidresp = oidreq.answer(false)
+ elsif session[:username].nil?
+ # The user hasn't logged in.
+ show_decision_page(oidreq)
+ return
+ else
+ # Else, set the identity to the one the user is using.
+ identity = url_for_user
+ end
+ end
+
+ if oidresp
+ nil
+ elsif self.is_authorized(identity, oidreq.trust_root)
+ oidresp = oidreq.answer(true, nil, identity)
+ elsif oidreq.immediate
+ server_url = url_for :action => 'index'
+ oidresp = oidreq.answer(false, server_url)
+ else
+ show_decision_page(oidreq)
+ return
+ end
+
+ else
+ oidresp = server.handle_request(oidreq)
+ end
+
+ self.render_response(oidresp)
+ end
+
+ def show_decision_page(oidreq, message="Do you trust this site with your identity?")
+ session[:last_oidreq] = oidreq
+ @oidreq = oidreq
+
+ if message
+ flash[:notice] = message
+ end
+
+ render :template => 'server/decide', :layout => 'server'
+ end
+
+ def user_page
+ # Yadis content-negotiation: we want to return the xrds if asked for.
+ accept = request.env['HTTP_ACCEPT']
+
+ # This is not technically correct, and should eventually be updated
+ # to do real Accept header parsing and logic. Though I expect it will work
+ # 99% of the time.
+ if accept and accept.include?('application/xrds+xml')
+ user_xrds
+ return
+ end
+
+ # content negotiation failed, so just render the user page
+ xrds_url = url_for(:controller=>'user',:action=>params[:username])+'/xrds'
+ identity_page = <<EOS
+<html><head>
+<meta http-equiv="X-XRDS-Location" content="#{xrds_url}" />
+<link rel="openid.server" href="#{url_for :action => 'index'}" />
+</head><body><p>OpenID identity page for #{params[:username]}</p>
+</body></html>
+EOS
+
+ # Also add the Yadis location header, so that they don't have
+ # to parse the html unless absolutely necessary.
+ response.headers['X-XRDS-Location'] = xrds_url
+ render :text => identity_page
+ end
+
+ def user_xrds
+ types = [
+ OpenID::OPENID_2_0_TYPE,
+ OpenID::OPENID_1_0_TYPE,
+ OpenID::SREG_URI,
+ ]
+
+ render_xrds(types)
+ end
+
+ def idp_xrds
+ types = [
+ OpenID::OPENID_IDP_2_0_TYPE,
+ ]
+
+ render_xrds(types)
+ end
+
+ def decision
+ oidreq = session[:last_oidreq]
+ session[:last_oidreq] = nil
+
+ if params[:yes].nil?
+ redirect_to oidreq.cancel_url
+ return
+ else
+ id_to_send = params[:id_to_send]
+
+ identity = oidreq.identity
+ if oidreq.id_select
+ if id_to_send and id_to_send != ""
+ session[:username] = id_to_send
+ session[:approvals] = []
+ identity = url_for_user
+ else
+ msg = "You must enter a username to in order to send " +
+ "an identifier to the Relying Party."
+ show_decision_page(oidreq, msg)
+ return
+ end
+ end
+
+ if session[:approvals]
+ session[:approvals] << oidreq.trust_root
+ else
+ session[:approvals] = [oidreq.trust_root]
+ end
+ oidresp = oidreq.answer(true, nil, identity)
+ add_sreg(oidreq, oidresp)
+ add_pape(oidreq, oidresp)
+ return self.render_response(oidresp)
+ end
+ end
+
+ protected
+
+ def server
+ if @server.nil?
+ server_url = url_for :action => 'index', :only_path => false
+ dir = Pathname.new(RAILS_ROOT).join('db').join('openid-store')
+ store = OpenID::Store::Filesystem.new(dir)
+ @server = Server.new(store, server_url)
+ end
+ return @server
+ end
+
+ def approved(trust_root)
+ return false if session[:approvals].nil?
+ return session[:approvals].member?(trust_root)
+ end
+
+ def is_authorized(identity_url, trust_root)
+ return (session[:username] and (identity_url == url_for_user) and self.approved(trust_root))
+ end
+
+ def render_xrds(types)
+ type_str = ""
+
+ types.each { |uri|
+ type_str += "<Type>#{uri}</Type>\n "
+ }
+
+ yadis = <<EOS
+<?xml version="1.0" encoding="UTF-8"?>
+<xrds:XRDS
+ xmlns:xrds="xri://$xrds"
+ xmlns="xri://$xrd*($v*2.0)">
+ <XRD>
+ <Service priority="0">
+ #{type_str}
+ <URI>#{url_for(:controller => 'server', :only_path => false)}</URI>
+ </Service>
+ </XRD>
+</xrds:XRDS>
+EOS
+
+ response.headers['content-type'] = 'application/xrds+xml'
+ render :text => yadis
+ end
+
+ def render_response(oidresp)
+ if oidresp.needs_signing
+ signed_response = server.signatory.sign(oidresp)
+ end
+ web_response = server.encode_response(oidresp)
+
+ case web_response.code
+ when HTTP_OK
+ render :text => web_response.body, :status => 200
+
+ when HTTP_REDIRECT
+ redirect_to web_response.headers['location']
+
+ else
+ render :text => web_response.body, :status => 400
+ end
+ end
+
+
+end
diff --git a/packages/chef-server/app/helpers/global_helpers.rb b/packages/chef-server/app/helpers/global_helpers.rb
new file mode 100644
index 0000000000..1ef7ac9331
--- /dev/null
+++ b/packages/chef-server/app/helpers/global_helpers.rb
@@ -0,0 +1,17 @@
+module Merb
+ module GlobalHelpers
+ # helpers defined here available to all views.
+ def resource_collection(collection)
+ html = "<ul>"
+ collection.each do |resource|
+ html << "<li><b>#{resource.class}</b></li>"
+ end
+ html << "</ul>"
+ html
+ end
+
+ def node_escape(node)
+ node.gsub(/\./, '_')
+ end
+ end
+end
diff --git a/packages/chef-server/app/helpers/nodes_helper.rb b/packages/chef-server/app/helpers/nodes_helper.rb
new file mode 100644
index 0000000000..5e6c25c453
--- /dev/null
+++ b/packages/chef-server/app/helpers/nodes_helper.rb
@@ -0,0 +1,19 @@
+module Merb
+ module NodesHelper
+ def recipe_list(node)
+ response = ""
+ node.recipes.each do |recipe|
+ response << "<li>#{recipe}</li>"
+ end
+ response
+ end
+
+ def attribute_list(node)
+ response = ""
+ node.each_attribute do |k,v|
+ response << "<li><b>#{k}</b>: #{v}</li>"
+ end
+ response
+ end
+ end
+end \ No newline at end of file
diff --git a/packages/chef-server/app/helpers/openid_server_helpers.rb b/packages/chef-server/app/helpers/openid_server_helpers.rb
new file mode 100644
index 0000000000..466287ac1a
--- /dev/null
+++ b/packages/chef-server/app/helpers/openid_server_helpers.rb
@@ -0,0 +1,9 @@
+module Merb
+ module OpenidServerHelper
+
+ def url_for_user
+ url :controller => 'user', :action => session[:username]
+ end
+
+ end
+end
diff --git a/packages/chef-server/app/views/exceptions/bad_request.json.erb b/packages/chef-server/app/views/exceptions/bad_request.json.erb
new file mode 100644
index 0000000000..f266cf99b9
--- /dev/null
+++ b/packages/chef-server/app/views/exceptions/bad_request.json.erb
@@ -0,0 +1 @@
+<%= { :error => params[:exception], :code => 400 }.to_json %> \ No newline at end of file
diff --git a/packages/chef-server/app/views/exceptions/internal_server_error.html.erb b/packages/chef-server/app/views/exceptions/internal_server_error.html.erb
new file mode 100644
index 0000000000..aadbfad350
--- /dev/null
+++ b/packages/chef-server/app/views/exceptions/internal_server_error.html.erb
@@ -0,0 +1,216 @@
+<html>
+<head>
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+ <title><%= @exception_name %></title>
+ <style type="text/css" media="screen">
+ body {
+ font-family:arial;
+ font-size:11px;
+ }
+ h1 {
+ font-size:48px;
+ letter-spacing:-4px;
+ margin:0;
+ line-height:36px;
+ color:#333;
+ }
+ h1 sup {
+ font-size: 0.5em;
+ }
+ h1 sup.error_500, h1 sup.error_400 {
+ color:#990E05;
+ }
+ h1 sup.error_100, h1 sup.error_200 {
+ color:#00BF10;
+ }
+ h1 sup.error_300 {
+ /* pretty sure you cant 'see' status 300
+ errors but if you could I think they
+ would be blue */
+ color:#1B2099;
+ }
+ h2 {
+ font-size:36px;
+ letter-spacing:-3px;
+ margin:0;
+ line-height:28px;
+ color:#444;
+ }
+ a, a:visited {
+ color:#00BF10;
+ }
+ .internalError {
+ width:800px;
+ margin:50px auto;
+ }
+ .header {
+ border-bottom:10px solid #333;
+ margin-bottom:1px;
+ background-image: url("data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7");
+ padding:20px;
+ }
+ table.trace {
+ width:100%;
+ font-family:courier, monospace;
+ letter-spacing:-1px;
+ border-collapse: collapse;
+ border-spacing:0;
+ }
+ table.trace tr td{
+ padding:0;
+ height:26px;
+ font-size:13px;
+ vertical-align:middle;
+ }
+ table.trace tr.file{
+ border-top:2px solid #fff;
+ background-color:#F3F3F3;
+ }
+ table.trace tr.source {
+ background-color:#F8F8F8;
+ display:none;
+ }
+ table.trace .open tr.source {
+ display:table-row;
+ }
+ table.trace tr.file td.expand {
+ width:23px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAIAAABvSEP3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdVJREFUeNqMVL+TwUAYxaRIOlEhlZHGDAUzzOQ61+AqXMV1lJSU7q/QRqm8KFUcJTNn5qJkaPyoKKVz7y4mF8na5Kt29tt9+/Z97/u81+vVQ4r9frdarS6Xi7ETDIZisRjxMGPfmk4niNPpZE+xLAugbPaZ53nzvtfMBe/3+/3dbuehBrAKhZdUKkVAWa9Xsiybv0CPZDJZLr/qa5/BwgwRjYqOKIvFYjQa/aNommZh0Ww2K5UqzwfoQOPxaLPZ3FAmk0+7lplMpt1u53J5OpBOR0eZEE9wHJfP5zud93g88QhluwWbjW+5VOmKBgKBer3eaDTDYeGBQF8+x7rqIYoiPgixWJazpA6HA+MSxRArkUgMh0M409g8Ho8+9wYxxCqVSq1W26EDHGM2m4HOHQrEc38f/Yn7cLmlIRhBENzcx8cVRZnPZ/YUep2BWkjTIfA+PKVpZAXR5QxsjiqCKvGEqqp443w+0dvy17swqD0HB3S73V5PpkNg1qBqt8kwGCjmPkinM0QJbIoEa7U6UG6ToVgs4V9G2g0ESoP5Aoi7KYX5oCgf8IKbkvn9/mr1LRQKESamzgJy0g0tSZIuB3nuGqRU9Vv9C4sKkUhEkp4soxvxI8AAhWrrtXa3X8EAAAAASUVORK5CYII=);
+ background-position:top left;
+ background-repeat:no-repeat;
+ }
+ table.trace .open tr.file td.expand {
+ width:19px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAB1CAIAAAAqdO2mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXZJREFUeNrslK1ywkAUhcMOBomEOiSdqLxEBJX0NaijOsjyHGGmCGyQQYaiiiw4gktkcOmZbpsuuzQ/M5XnqJ2d3S/n3nM3rTzPLUP7/Tt0+pLcGQwG3W53OLyHzPMtjYL7q9UqSRLrD4E1Gj1orCvKYuFHUWTVkOM44/HjDcp8/lL4r6NerzeZPMm1KFw0QkDn83m5fP2lHA4fNQvRtNvtjsfDd0WzmSfb2e/fdTqdOvdh/HLJZLOn0+d2HJ+KRGzbdl23EpFlmed5cp2maRzHQq1lvQ5KMi6EUZBGfup6E1pTfd+vrGW7jbQ2C9hTt9BpqNyIWaAwAy6xg2eBz5iRC/NomiZhGN5sqmnkauo0BUGgVQoBjQ80oCACgNQdZHfTYBkF2mxCtWWAqunWpahxIDUt3QYUxIFQpJHyIWpXjinabKbbwItMHT+NyjchrP8QKaSQQgoppJBCCimkkEIKKaSQQgoppJBCCimkkEIKKaSo+hRgAEFD17X08O2NAAAAAElFTkSuQmCC);
+ background-position:top left;
+ background-repeat:no-repeat;
+ }
+ table.trace tr.source td.collapse {
+ width:19px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAB1CAIAAAAqdO2mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVxJREFUeNrs0zFygkAUBmBlUkgJHdABlQwVkVJKKUxBYWbkALTxMJwhltyDFkss03IF8pudIcwaDaDl/6pd2P327b7d+eHwMXs4lNkzggoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQqVEYqm6ft9+qiSJEkYho7jTlcw2fd9NOI4nq4gEdFwXXe1Cqco63VkWVbXRTqLhTpOwQRpF7quR1E0TgGhqvLKUFCyoQqG/rks3O6kZKW/eRFpevOCoGTXVTcMQ5EyxyDEkML1c5RzuZOICIyXqn7JBVez6282MWrx731HOv2qB8Hri2lamNk0DfpVVdV1Peodappmmua8bdvzuc7zfNprzrLMth1FnGh/X8MjCAIQv/cFz/+65PcDh7rbvYv2ZUfdj+PxsyzLgVl0hKwgTqeqKApx2LeOc7t98zyv/1FWOgvx9RPii23bmL9cetJ8Ed8CDAC6aFW8bCzFhwAAAABJRU5ErkJggg==);
+ background-position:bottom left;
+ background-repeat:no-repeat;
+ background-color:#6F706F;
+ }
+ table.trace tr td.path {
+ padding-left:10px;
+ }
+ table.trace tr td.code {
+ padding-left:35px;
+ white-space: pre;
+ line-height:9px;
+ padding-bottom:10px;
+ }
+ table.trace tr td.code em {
+ font-weight:bold;
+ color:#00BF10;
+ }
+ table.trace tr td.code a {
+ width: 20px;
+ float: left;
+ }
+ table.trace tr td.code .more {
+ color:#666;
+ }
+ table.trace tr td.line {
+ width:30px;
+ text-align:right;
+ padding-right:4px;
+ }
+ .footer {
+ margin-top:5px;
+ font-size:11px;
+ color:#444;
+ text-align:right;
+ }
+ </style>
+</head>
+<body>
+ <div class="internalError">
+
+ <div class="header">
+ <h1><%= @exception_name %> <sup class="error_<%= @exception.class::STATUS %>"><%= @exception.class::STATUS %></sup></h1>
+ <% if show_details = ::Merb::Config[:exception_details] -%>
+ <h2><%= @exception.message %></h2>
+ <% else -%>
+ <h2>Sorry about that...</h2>
+ <% end -%>
+ <h3>Parameters</h3>
+ <ul>
+ <% params[:original_params].each do |param, value| %>
+ <li><strong><%= param %>:</strong> <%= value.inspect %></li>
+ <% end %>
+ <%= "<li>None</li>" if params[:original_params].empty? %>
+ </ul>
+
+ <h3>Session</h3>
+ <ul>
+ <% params[:original_session].each do |param, value| %>
+ <li><strong><%= param %>:</strong> <%= value.inspect %></li>
+ <% end %>
+ <%= "<li>None</li>" if params[:original_session].empty? %>
+ </ul>
+
+ <h3>Cookies</h3>
+ <ul>
+ <% params[:original_cookies].each do |param, value| %>
+ <li><strong><%= param %>:</strong> <%= value.inspect %></li>
+ <% end %>
+ <%= "<li>None</li>" if params[:original_cookies].empty? %>
+ </ul>
+ </div>
+
+ <% if show_details %>
+ <table class="trace">
+ <% @exception.backtrace.each_with_index do |line, index| %>
+ <tbody class="close">
+ <tr class="file">
+ <td class="expand">
+ </td>
+ <td class="path">
+ <%= (line.match(/^([^:]+)/)[1] rescue 'unknown').sub(/\/((opt|usr)\/local\/lib\/(ruby\/)?(gems\/)?(1.8\/)?(gems\/)?|.+\/app\/)/, '') %>
+ <% unless line.match(/\.erb:/) %>
+ in "<strong><%= line.match(/:in `(.+)'$/)[1] rescue '?' %></strong>"
+ <% else %>
+ (<strong>ERB Template</strong>)
+ <% end %>
+ </td>
+ <td class="line">
+ <a href="txmt://open?url=file://<%=file = (line.match(/^([^:]+)/)[1] rescue 'unknown')%>&amp;line=<%= lineno = line.match(/:([0-9]+):/)[1] rescue '?' %>"><%=lineno%></a>&nbsp;
+ </td>
+ </tr>
+ <tr class="source">
+ <td class="collapse">
+ </td>
+ <td class="code" colspan="2"><% (__caller_lines__(file, lineno, 5) rescue []).each do |llineno, lcode, lcurrent| %>
+<a href="txmt://open?url=file://<%=file%>&amp;line=<%=llineno%>"><%= llineno %></a><%='<em>' if llineno==lineno.to_i %><%= lcode.size > 90 ? CGI.escapeHTML(lcode[0..90])+'<span class="more">......</span>' : CGI.escapeHTML(lcode) %><%='</em>' if llineno==lineno.to_i %>
+<% end %>
+
+</td>
+ </tr>
+ </tbody>
+ <% end %>
+ </table>
+ <script type="text/javascript" charset="utf-8">
+ // swop the open & closed classes
+ els = document.getElementsByTagName('td');
+ for(i=0; i<els.length; i++){
+ if(els[i].className=='expand' || els[i].className=='collapse'){
+ els[i].onclick = function(e){
+ tbody = this.parentNode.parentNode;
+ if(tbody.className=='open'){
+ tbody.className='closed';
+ }else{
+ tbody.className='open';
+ }
+ }
+ }
+ }
+ </script>
+ <% end %>
+ <div class="footer">
+ lots of love, from <a href="#">merb</a>
+ </div>
+ </div>
+</body>
+</html> \ No newline at end of file
diff --git a/packages/chef-server/app/views/exceptions/not_acceptable.html.erb b/packages/chef-server/app/views/exceptions/not_acceptable.html.erb
new file mode 100644
index 0000000000..f632712bb2
--- /dev/null
+++ b/packages/chef-server/app/views/exceptions/not_acceptable.html.erb
@@ -0,0 +1,63 @@
+<div id="container">
+ <div id="header-container">
+ <img src="/images/merb.jpg" />
+ <!-- <h1>Mongrel + Erb</h1> -->
+ <h2>pocket rocket web framework</h2>
+ <hr />
+ </div>
+
+ <div id="left-container">
+ <h3>Exception:</h3>
+ <p><%= params[:exception] %></p>
+ </div>
+
+ <div id="main-container">
+ <h3>Why am I seeing this page?</h3>
+ <p>Merb couldn't find an appropriate content_type to return,
+ based on what you said was available via provides() and
+ what the client requested.</p>
+
+ <h3>How to add a mime-type</h3>
+ <pre><code>
+ Merb.add_mime_type :pdf, :to_pdf, %w[application/pdf], &quot;Content-Encoding&quot; =&gt; &quot;gzip&quot;
+ </code></pre>
+ <h3>What this means is:</h3>
+ <ul>
+ <li>Add a mime-type for :pdf</li>
+ <li>Register the method for converting objects to PDF as <code>#to_pdf</code>.</li>
+ <li>Register the incoming mime-type "Accept" header as <code>application/pdf</code>.</li>
+ <li>Specify a new header for PDF types so it will set <code>Content-Encoding</code> to gzip.</li>
+ </ul>
+
+ <h3>You can then do:</h3>
+ <pre><code>
+ class Foo &lt; Application
+ provides :pdf
+ end
+ </code></pre>
+
+ <h3>Where can I find help?</h3>
+ <p>If you have any questions or if you can't figure something out, please take a
+ look at our <a href="http://merbivore.com/"> project page</a>,
+ feel free to come chat at irc.freenode.net, channel #merb,
+ or post to <a href="http://groups.google.com/group/merb">merb mailing list</a>
+ on Google Groups.</p>
+
+ <h3>What if I've found a bug?</h3>
+ <p>If you want to file a bug or make your own contribution to Merb,
+ feel free to register and create a ticket at our
+ <a href="http://merb.lighthouseapp.com/">project development page</a>
+ on Lighthouse.</p>
+
+ <h3>How do I edit this page?</h3>
+ <p>You can change what people see when this happens by editing <tt>app/views/exceptions/not_acceptable.html.erb</tt>.</p>
+
+ </div>
+
+ <div id="footer-container">
+ <hr />
+ <div class="left"></div>
+ <div class="right">&copy; 2007 the merb dev team</div>
+ <p>&nbsp;</p>
+ </div>
+</div>
diff --git a/packages/chef-server/app/views/exceptions/not_found.html.erb b/packages/chef-server/app/views/exceptions/not_found.html.erb
new file mode 100644
index 0000000000..388c72c31d
--- /dev/null
+++ b/packages/chef-server/app/views/exceptions/not_found.html.erb
@@ -0,0 +1,47 @@
+<div id="container">
+ <div id="header-container">
+ <img src="/images/merb.jpg" />
+ <!-- <h1>Mongrel + Erb</h1> -->
+ <h2>pocket rocket web framework</h2>
+ <hr />
+ </div>
+
+ <div id="left-container">
+ <h3>Exception:</h3>
+ <p><%= params[:exception] %></p>
+ </div>
+
+ <div id="main-container">
+ <h3>Welcome to Merb!</h3>
+ <p>Merb is a light-weight MVC framework written in Ruby. We hope you enjoy it.</p>
+
+ <h3>Where can I find help?</h3>
+ <p>If you have any questions or if you can't figure something out, please take a
+ look at our <a href="http://merbivore.com/"> project page</a>,
+ feel free to come chat at irc.freenode.net, channel #merb,
+ or post to <a href="http://groups.google.com/group/merb">merb mailing list</a>
+ on Google Groups.</p>
+
+ <h3>What if I've found a bug?</h3>
+ <p>If you want to file a bug or make your own contribution to Merb,
+ feel free to register and create a ticket at our
+ <a href="http://merb.lighthouseapp.com/">project development page</a>
+ on Lighthouse.</p>
+
+ <h3>How do I edit this page?</h3>
+ <p>You're seeing this page because you need to edit the following files:
+ <ul>
+ <li>config/router.rb <strong><em>(recommended)</em></strong></li>
+ <li>app/views/exceptions/not_found.html.erb <strong><em>(recommended)</em></strong></li>
+ <li>app/views/layout/application.html.erb <strong><em>(change this layout)</em></strong></li>
+ </ul>
+ </p>
+ </div>
+
+ <div id="footer-container">
+ <hr />
+ <div class="left"></div>
+ <div class="right">&copy; 2007 the merb dev team</div>
+ <p>&nbsp;</p>
+ </div>
+</div>
diff --git a/packages/chef-server/app/views/layout/application.html.haml b/packages/chef-server/app/views/layout/application.html.haml
new file mode 100644
index 0000000000..074c55ce0f
--- /dev/null
+++ b/packages/chef-server/app/views/layout/application.html.haml
@@ -0,0 +1,15 @@
+!!! XML
+!!!
+%html
+ %head
+ %title Chef Server
+ %meta{"http-equiv" => "content-type", :content => "text/html; charset=utf-8" }
+ %link{:rel => "stylesheet", :href => "/stylesheets/master.css", :type => "text/css", :media => "screen", :charset => "utf-8" }
+ %body
+ = catch_content :for_layout
+ .footer
+ - if session[:username]
+ %a{:href => url(:controller => "openid_login", :action => "logout")}= "Log Out #{session[:username]}"
+ %br/
+ = url(:controller => "openid_server", :action => "user_page", :username => session[:username])
+ \ No newline at end of file
diff --git a/packages/chef-server/app/views/nodes/_node.html.haml b/packages/chef-server/app/views/nodes/_node.html.haml
new file mode 100644
index 0000000000..7dce36488f
--- /dev/null
+++ b/packages/chef-server/app/views/nodes/_node.html.haml
@@ -0,0 +1,11 @@
+.node
+ %h1
+ = "Node #{h node.name}"
+ %h2 Actions
+ %a{ :href => url(:compile_node, { :id => node_escape(node.name) }) } Compile Node
+ %h2 Recipes
+ %ol
+ = recipe_list(node)
+ %h2 Attributes
+ %ol
+ = attribute_list(node)
diff --git a/packages/chef-server/app/views/nodes/_resource.html.haml b/packages/chef-server/app/views/nodes/_resource.html.haml
new file mode 100644
index 0000000000..bc7b55f91f
--- /dev/null
+++ b/packages/chef-server/app/views/nodes/_resource.html.haml
@@ -0,0 +1,23 @@
+.resource
+ %h3= "#{h resource.to_s} (#{resource.class})"
+ %table
+ - resource.instance_variables.sort.each do |v|
+ - attr_name = v.gsub(/\@/, "")
+ - unless attr_name == "collection"
+ %tr.attr_group
+ %td.attr_name
+ = "#{h attr_name}"
+ - value = resource.instance_variable_get(v)
+ - if value.kind_of?(String)
+ %td.attr_value
+ = "#{h value}"
+ - elsif value.kind_of?(Array)
+ %td.attr_value
+ = "#{h value.join(", ")}"
+ - elsif value.kind_of?(Symbol)
+ %td.attr_value
+ = "#{h value.to_s}"
+ - else
+ %td.attr_value
+ = "#{h value.inspect}"
+
diff --git a/packages/chef-server/app/views/nodes/compile.html.haml b/packages/chef-server/app/views/nodes/compile.html.haml
new file mode 100644
index 0000000000..5656447ea8
--- /dev/null
+++ b/packages/chef-server/app/views/nodes/compile.html.haml
@@ -0,0 +1,5 @@
+= partial(:node, :node => @output[:node])
+.resource_collection
+ %h1 Resource Collection
+ - @output[:collection].each do |resource|
+ = partial(:resource, :resource => resource)
diff --git a/packages/chef-server/app/views/nodes/index.html.haml b/packages/chef-server/app/views/nodes/index.html.haml
new file mode 100644
index 0000000000..908f72fab5
--- /dev/null
+++ b/packages/chef-server/app/views/nodes/index.html.haml
@@ -0,0 +1,5 @@
+%h1 Node List
+- @node_list.each do |node|
+ .node
+ %a{ :href => url(:node, { :id => node.gsub(/\./, "_") }) }
+ = node
diff --git a/packages/chef-server/app/views/nodes/show.html.haml b/packages/chef-server/app/views/nodes/show.html.haml
new file mode 100644
index 0000000000..94708af6d3
--- /dev/null
+++ b/packages/chef-server/app/views/nodes/show.html.haml
@@ -0,0 +1 @@
+= partial(:node, :node => @node) \ No newline at end of file
diff --git a/packages/chef-server/app/views/openid_login/index.html.haml b/packages/chef-server/app/views/openid_login/index.html.haml
new file mode 100644
index 0000000000..2bc2ef7c65
--- /dev/null
+++ b/packages/chef-server/app/views/openid_login/index.html.haml
@@ -0,0 +1,6 @@
+%h1 Login
+#login-form
+ %form{ :method => "get", :action => url(:controller => "openid_login", :action => 'submit') }
+ %input{ :type => "text", :name => "username" }/
+ %input{ :type => "submit", :value => "Log In"}/
+ \ No newline at end of file
diff --git a/packages/chef-server/autotest/discover.rb b/packages/chef-server/autotest/discover.rb
new file mode 100644
index 0000000000..fddd1269c4
--- /dev/null
+++ b/packages/chef-server/autotest/discover.rb
@@ -0,0 +1 @@
+Autotest.add_discovery { "merb" } \ No newline at end of file
diff --git a/packages/chef-server/autotest/merb.rb b/packages/chef-server/autotest/merb.rb
new file mode 100644
index 0000000000..e9d51af585
--- /dev/null
+++ b/packages/chef-server/autotest/merb.rb
@@ -0,0 +1,149 @@
+# Adapted from Autotest::Rails
+require 'autotest'
+
+class Autotest::Merb < Autotest
+
+ # +model_tests_dir+:: the directory to find model-centric tests
+ # +controller_tests_dir+:: the directory to find controller-centric tests
+ # +view_tests_dir+:: the directory to find view-centric tests
+ # +fixtures_dir+:: the directory to find fixtures in
+ attr_accessor :model_tests_dir, :controller_tests_dir, :view_tests_dir, :fixtures_dir
+
+ def initialize # :nodoc:
+ super
+
+ initialize_test_layout
+
+ # Ignore any happenings in these directories
+ add_exception %r%^\./(?:doc|log|public|tmp)%
+
+ # Ignore any mappings that Autotest may have already set up
+ clear_mappings
+
+ # Any changes to a file in the root of the 'lib' directory will run any
+ # model test with a corresponding name.
+ add_mapping %r%^lib\/.*\.rb% do |filename, _|
+ files_matching Regexp.new(["^#{model_test_for(filename)}$"])
+ end
+
+ # Any changes to a fixture will run corresponding view, controller and
+ # model tests
+ add_mapping %r%^#{fixtures_dir}/(.*)s.yml% do |_, m|
+ [
+ model_test_for(m[1]),
+ controller_test_for(m[1]),
+ view_test_for(m[1])
+ ]
+ end
+
+ # Any change to a test or test will cause it to be run
+ add_mapping %r%^test/(unit|models|integration|controllers|views|functional)/.*rb$% do |filename, _|
+ filename
+ end
+
+ # Any change to a model will cause it's corresponding test to be run
+ add_mapping %r%^app/models/(.*)\.rb$% do |_, m|
+ model_test_for(m[1])
+ end
+
+ # Any change to the global helper will result in all view and controller
+ # tests being run
+ add_mapping %r%^app/helpers/global_helpers.rb% do
+ files_matching %r%^test/(views|functional|controllers)/.*_test\.rb$%
+ end
+
+ # Any change to a helper will run it's corresponding view and controller
+ # tests, unless the helper is the global helper. Changes to the global
+ # helper run all view and controller tests.
+ add_mapping %r%^app/helpers/(.*)_helper(s)?.rb% do |_, m|
+ if m[1] == "global" then
+ files_matching %r%^test/(views|functional|controllers)/.*_test\.rb$%
+ else
+ [
+ view_test_for(m[1]),
+ controller_test_for(m[1])
+ ]
+ end
+ end
+
+ # Changes to views result in their corresponding view and controller test
+ # being run
+ add_mapping %r%^app/views/(.*)/% do |_, m|
+ [
+ view_test_for(m[1]),
+ controller_test_for(m[1])
+ ]
+ end
+
+ # Changes to a controller result in its corresponding test being run. If
+ # the controller is the exception or application controller, all
+ # controller tests are run.
+ add_mapping %r%^app/controllers/(.*)\.rb$% do |_, m|
+ if ["application", "exception"].include?(m[1])
+ files_matching %r%^test/(controllers|views|functional)/.*_test\.rb$%
+ else
+ controller_test_for(m[1])
+ end
+ end
+
+ # If a change is made to the router, run all controller and view tests
+ add_mapping %r%^config/router.rb$% do # FIX
+ files_matching %r%^test/(controllers|views|functional)/.*_test\.rb$%
+ end
+
+ # If any of the major files governing the environment are altered, run
+ # everything
+ add_mapping %r%^test/test_helper.rb|config/(init|rack|environments/test.rb|database.yml)% do # FIX
+ files_matching %r%^test/(unit|models|controllers|views|functional)/.*_test\.rb$%
+ end
+ end
+
+private
+
+ # Determines the paths we can expect tests or specs to reside, as well as
+ # corresponding fixtures.
+ def initialize_test_layout
+ self.model_tests_dir = "test/unit"
+ self.controller_tests_dir = "test/functional"
+ self.view_tests_dir = "test/views"
+ self.fixtures_dir = "test/fixtures"
+ end
+
+ # Given a filename and the test type, this method will return the
+ # corresponding test's or spec's name.
+ #
+ # ==== Arguments
+ # +filename+<String>:: the file name of the model, view, or controller
+ # +kind_of_test+<Symbol>:: the type of test we that we should run
+ #
+ # ==== Returns
+ # String:: the name of the corresponding test or spec
+ #
+ # ==== Example
+ #
+ # > test_for("user", :model)
+ # => "user_test.rb"
+ # > test_for("login", :controller)
+ # => "login_controller_test.rb"
+ # > test_for("form", :view)
+ # => "form_view_spec.rb" # If you're running a RSpec-like suite
+ def test_for(filename, kind_of_test) # :nodoc:
+ name = [filename]
+ name << kind_of_test.to_s if kind_of_test == :view
+ name << "test"
+ return name.join("_") + ".rb"
+ end
+
+ def model_test_for(filename)
+ [model_tests_dir, test_for(filename, :model)].join("/")
+ end
+
+ def controller_test_for(filename)
+ [controller_tests_dir, test_for(filename, :controller)].join("/")
+ end
+
+ def view_test_for(filename)
+ [view_tests_dir, test_for(filename, :view)].join("/")
+ end
+
+end \ No newline at end of file
diff --git a/packages/chef-server/autotest/merb_rspec.rb b/packages/chef-server/autotest/merb_rspec.rb
new file mode 100644
index 0000000000..9ff1f7263b
--- /dev/null
+++ b/packages/chef-server/autotest/merb_rspec.rb
@@ -0,0 +1,223 @@
+# Adapted from Autotest::Rails, RSpec's autotest class, as well as merb-core's.
+require 'autotest'
+
+class RspecCommandError < StandardError; end
+
+class Autotest::MerbRspec < Autotest
+
+ # +model_tests_dir+:: the directory to find model-centric tests
+ # +controller_tests_dir+:: the directory to find controller-centric tests
+ # +view_tests_dir+:: the directory to find view-centric tests
+ # +fixtures_dir+:: the directory to find fixtures in
+ attr_accessor :model_tests_dir, :controller_tests_dir, :view_tests_dir, :fixtures_dir
+
+ def initialize # :nodoc:
+ super
+
+ initialize_test_layout
+
+ # Ignore any happenings in these directories
+ add_exception %r%^\./(?:doc|log|public|tmp)%
+
+ # Ignore any mappings that Autotest may have already set up
+ clear_mappings
+
+ # Any changes to a file in the root of the 'lib' directory will run any
+ # model test with a corresponding name.
+ add_mapping %r%^lib\/.*\.rb% do |filename, _|
+ files_matching %r%#{model_test_for(filename)}$%
+ end
+
+ add_mapping %r%^spec/(spec_helper|shared/.*)\.rb$% do
+ files_matching %r%^spec/.*_spec\.rb$%
+ end
+
+ # Any changes to a fixture will run corresponding view, controller and
+ # model tests
+ add_mapping %r%^#{fixtures_dir}/(.*)s.yml% do |_, m|
+ [
+ model_test_for(m[1]),
+ controller_test_for(m[1]),
+ view_test_for(m[1])
+ ]
+ end
+
+ # Any change to a test or spec will cause it to be run
+ add_mapping %r%^spec/(unit|models|integration|controllers|views|functional)/.*rb$% do |filename, _|
+ filename
+ end
+
+ # Any change to a model will cause it's corresponding test to be run
+ add_mapping %r%^app/models/(.*)\.rb$% do |_, m|
+ model_test_for(m[1])
+ end
+
+ # Any change to the global helper will result in all view and controller
+ # tests being run
+ add_mapping %r%^app/helpers/global_helpers.rb% do
+ files_matching %r%^spec/(views|functional|controllers)/.*_spec\.rb$%
+ end
+
+ # Any change to a helper will run it's corresponding view and controller
+ # tests, unless the helper is the global helper. Changes to the global
+ # helper run all view and controller tests.
+ add_mapping %r%^app/helpers/(.*)_helper(s)?.rb% do |_, m|
+ if m[1] == "global" then
+ files_matching %r%^spec/(views|functional|controllers)/.*_spec\.rb$%
+ else
+ [
+ view_test_for(m[1]),
+ controller_test_for(m[1])
+ ]
+ end
+ end
+
+ # Changes to views result in their corresponding view and controller test
+ # being run
+ add_mapping %r%^app/views/(.*)/% do |_, m|
+ [
+ view_test_for(m[1]),
+ controller_test_for(m[1])
+ ]
+ end
+
+ # Changes to a controller result in its corresponding test being run. If
+ # the controller is the exception or application controller, all
+ # controller tests are run.
+ add_mapping %r%^app/controllers/(.*)\.rb$% do |_, m|
+ if ["application", "exception"].include?(m[1])
+ files_matching %r%^spec/(controllers|views|functional)/.*_spec\.rb$%
+ else
+ controller_test_for(m[1])
+ end
+ end
+
+ # If a change is made to the router, run all controller and view tests
+ add_mapping %r%^config/router.rb$% do # FIX
+ files_matching %r%^spec/(controllers|views|functional)/.*_spec\.rb$%
+ end
+
+ # If any of the major files governing the environment are altered, run
+ # everything
+ add_mapping %r%^spec/spec_helper.rb|config/(init|rack|environments/test.rb|database.yml)% do # FIX
+ files_matching %r%^spec/(unit|models|controllers|views|functional)/.*_spec\.rb$%
+ end
+ end
+
+ def failed_results(results)
+ results.scan(/^\d+\)\n(?:\e\[\d*m)?(?:.*?Error in )?'([^\n]*)'(?: FAILED)?(?:\e\[\d*m)?\n(.*?)\n\n/m)
+ end
+
+ def handle_results(results)
+ @failures = failed_results(results)
+ @files_to_test = consolidate_failures @failures
+ unless $TESTING
+ if @files_to_test.empty?
+ hook :green
+ else
+ hook :red
+ end
+ end
+ @tainted = true unless @files_to_test.empty?
+ end
+
+ def consolidate_failures(failed)
+ filters = Hash.new { |h,k| h[k] = [] }
+ failed.each do |spec, failed_trace|
+ find_files.keys.select { |f| f =~ /spec\// }.each do |f|
+ if failed_trace =~ Regexp.new(f)
+ filters[f] << spec
+ break
+ end
+ end
+ end
+ filters
+ end
+
+ def make_test_cmd(files_to_test)
+ [
+ ruby,
+ "-S",
+ spec_command,
+ add_options_if_present,
+ files_to_test.keys.flatten.join(' ')
+ ].join(" ")
+ end
+
+ def add_options_if_present
+ File.exist?("spec/spec.opts") ? "-O spec/spec.opts " : ""
+ end
+
+ # Finds the proper spec command to use. Precendence is set in the
+ # lazily-evaluated method spec_commands. Alias + Override that in
+ # ~/.autotest to provide a different spec command then the default
+ # paths provided.
+ def spec_command(separator=File::ALT_SEPARATOR)
+ unless defined? @spec_command then
+ @spec_command = spec_commands.find { |cmd| File.exists? cmd }
+
+ raise RspecCommandError, "No spec command could be found!" unless @spec_command
+
+ @spec_command.gsub!(File::SEPARATOR, separator) if separator
+ end
+ @spec_command
+ end
+
+ # Autotest will look for spec commands in the following
+ # locations, in this order:
+ #
+ # * default spec bin/loader installed in Rubygems
+ # * any spec command found in PATH
+ def spec_commands
+ [ File.join(Config::CONFIG['bindir'], 'spec'), 'spec' ]
+ end
+
+private
+
+ # Determines the paths we can expect tests or specs to reside, as well as
+ # corresponding fixtures.
+ def initialize_test_layout
+ self.model_tests_dir = "spec/models"
+ self.controller_tests_dir = "spec/controllers"
+ self.view_tests_dir = "spec/views"
+ self.fixtures_dir = "spec/fixtures"
+ end
+
+ # Given a filename and the test type, this method will return the
+ # corresponding test's or spec's name.
+ #
+ # ==== Arguments
+ # +filename+<String>:: the file name of the model, view, or controller
+ # +kind_of_test+<Symbol>:: the type of test we that we should run
+ #
+ # ==== Returns
+ # String:: the name of the corresponding test or spec
+ #
+ # ==== Example
+ #
+ # > test_for("user", :model)
+ # => "user_test.rb"
+ # > test_for("login", :controller)
+ # => "login_controller_test.rb"
+ # > test_for("form", :view)
+ # => "form_view_spec.rb" # If you're running a RSpec-like suite
+ def test_for(filename, kind_of_test) # :nodoc:
+ name = [filename]
+ name << kind_of_test.to_s if kind_of_test == :view
+ name << "spec"
+ return name.join("_") + ".rb"
+ end
+
+ def model_test_for(filename)
+ [model_tests_dir, test_for(filename, :model)].join("/")
+ end
+
+ def controller_test_for(filename)
+ [controller_tests_dir, test_for(filename, :controller)].join("/")
+ end
+
+ def view_test_for(filename)
+ [view_tests_dir, test_for(filename, :view)].join("/")
+ end
+
+end
diff --git a/packages/chef-server/config/chef-server.rb b/packages/chef-server/config/chef-server.rb
new file mode 100644
index 0000000000..1763cf7263
--- /dev/null
+++ b/packages/chef-server/config/chef-server.rb
@@ -0,0 +1,9 @@
+#
+# Example Chef Solo Config
+
+cookbook_path File.join(File.dirname(__FILE__), "..", "..", "..", "examples", "config", "cookbooks")
+node_path File.join(File.dirname(__FILE__), "..", "..", "..", "examples", "config", "nodes")
+file_store_path File.join(File.dirname(__FILE__), "..", "..", "..", "examples", "store")
+log_level :debug
+
+Chef::Log::Formatter.show_time = false
diff --git a/packages/chef-server/config/environments/development.rb b/packages/chef-server/config/environments/development.rb
new file mode 100644
index 0000000000..69ed60266d
--- /dev/null
+++ b/packages/chef-server/config/environments/development.rb
@@ -0,0 +1,7 @@
+Merb.logger.info("Loaded DEVELOPMENT Environment...")
+Merb::Config.use { |c|
+ c[:exception_details] = true
+ c[:reload_classes] = true
+ c[:reload_time] = 0.5
+ c[:log_auto_flush ] = true
+} \ No newline at end of file
diff --git a/packages/chef-server/config/environments/production.rb b/packages/chef-server/config/environments/production.rb
new file mode 100644
index 0000000000..e389e6feeb
--- /dev/null
+++ b/packages/chef-server/config/environments/production.rb
@@ -0,0 +1,7 @@
+Merb.logger.info("Loaded PRODUCTION Environment...")
+Merb::Config.use { |c|
+ c[:exception_details] = false
+ c[:reload_classes] = false
+ c[:log_level] = :error
+ c[:log_file] = Merb.log_path + "/production.log"
+} \ No newline at end of file
diff --git a/packages/chef-server/config/environments/rake.rb b/packages/chef-server/config/environments/rake.rb
new file mode 100644
index 0000000000..098d3e4a9e
--- /dev/null
+++ b/packages/chef-server/config/environments/rake.rb
@@ -0,0 +1,7 @@
+Merb.logger.info("Loaded RAKE Environment...")
+Merb::Config.use { |c|
+ c[:exception_details] = true
+ c[:reload_classes] = false
+ c[:log_auto_flush ] = true
+ c[:log_file] = Merb.log_path / 'merb_rake.log'
+}
diff --git a/packages/chef-server/config/environments/test.rb b/packages/chef-server/config/environments/test.rb
new file mode 100644
index 0000000000..6865fb4a4e
--- /dev/null
+++ b/packages/chef-server/config/environments/test.rb
@@ -0,0 +1,6 @@
+Merb.logger.info("Loaded TEST Environment...")
+Merb::Config.use { |c|
+ c[:testing] = true
+ c[:exception_details] = true
+ c[:log_auto_flush ] = true
+} \ No newline at end of file
diff --git a/packages/chef-server/config/init.rb b/packages/chef-server/config/init.rb
new file mode 100644
index 0000000000..bdd6d3f8ce
--- /dev/null
+++ b/packages/chef-server/config/init.rb
@@ -0,0 +1,152 @@
+#
+# ==== Structure of Merb initializer
+#
+# 1. Load paths.
+# 2. Dependencies configuration.
+# 3. Libraries (ORM, testing tool, etc) you use.
+# 4. Application-specific configuration.
+
+#
+# ==== Set up load paths
+#
+
+# Make the app's "gems" directory a place where gems are loaded from.
+# Note that gems directory must have a structure RubyGems uses for
+# directories under which gems are kept.
+#
+# To conveniently set it up use gem install -i <merb_app_root/gems>
+# when installing gems. This will set up the structure under /gems
+# automagically.
+#
+# An example:
+#
+# You want to bundle ActiveRecord and ActiveSupport with your Merb
+# application to be deployment environment independent. To do so,
+# install gems into merb_app_root/gems directory like this:
+#
+# gem install -i ~/dev/merbapp/gems activesupport-post-2.0.2gem activerecord-post-2.0.2.gem
+#
+# Since RubyGems will search merb_app_root/gems for dependencies, order
+# in statement above is important: we need to install ActiveSupport which
+# ActiveRecord depends on first.
+#
+# Remember that bundling of dependencies as gems with your application
+# makes it independent of the environment it runs in and is a very
+# good, encouraged practice to follow.
+Gem.clear_paths
+Gem.path.unshift(Merb.root / "gems")
+
+# If you want modules and classes from libraries organized like
+# merbapp/lib/magicwand/lib/magicwand.rb to autoload,
+# uncomment this.
+Merb.push_path(:lib, File.join(Merb.root, "..", "..", "lib"))
+# Merb.push_path(:lib, Merb.root / "lib") # uses **/*.rb as path glob.
+
+# ==== Dependencies
+
+# These are some examples of how you might specify dependencies.
+# Dependencies load is delayed to one of later Merb app
+# boot stages. It may be important when
+# later part of your configuration relies on libraries specified
+# here.
+#
+# dependencies "RedCloth", "merb_helpers"
+# OR
+# dependency "RedCloth", "> 3.0"
+# OR
+# dependencies "RedCloth" => "> 3.0", "ruby-aes-cext" => "= 1.0"
+Merb::BootLoader.after_app_loads do
+ # Add dependencies here that must load after the application loads:
+ Chef::Config.from_file(File.join(Merb.root, "config", "chef-server.rb"))
+ Chef::Queue.connect
+
+ # dependency "magic_admin" # this gem uses the app's model classes
+end
+
+#
+# ==== Set up your ORM of choice
+#
+
+# Merb doesn't come with database support by default. You need
+# an ORM plugin. Install one, and uncomment one of the following lines,
+# if you need a database.
+
+# Uncomment for DataMapper ORM
+# use_orm :datamapper
+
+# Uncomment for ActiveRecord ORM
+# use_orm :activerecord
+
+# Uncomment for Sequel ORM
+# use_orm :sequel
+
+require 'merb-haml'
+
+#
+# ==== Pick what you test with
+#
+
+# This defines which test framework the generators will use
+# rspec is turned on by default
+#
+# Note that you need to install the merb_rspec if you want to ue
+# rspec and merb_test_unit if you want to use test_unit.
+# merb_rspec is installed by default if you did gem install
+# merb.
+#
+# use_test :test_unit
+use_test :rspec
+
+
+#
+# ==== Set up your basic configuration
+#
+Merb::Config.use do |c|
+ # Sets up a custom session id key, if you want to piggyback sessions of other applications
+ # with the cookie session store. If not specified, defaults to '_session_id'.
+ c[:session_id_key] = '_chef_server_session_id'
+ c[:session_secret_key] = '0992ea491c30ec76c98367c1ca53b18c1e7c5b30'
+ c[:session_store] = 'cookie'
+end
+
+
+# ==== Tune your inflector
+
+# To fine tune your inflector use word, singular_word and plural_word
+# methods of Language::English::Inflector module metaclass.
+#
+# Here we define erratum/errata exception case:
+#
+# Language::English::Inflector.word "erratum", "errata"
+#
+# In case singular and plural forms are the same omit
+# second argument on call:
+#
+# Language::English::Inflector.word 'information'
+#
+# You can also define general, singularization and pluralization
+# rules:
+#
+# Once the following rule is defined:
+# Language::English::Inflector.rule 'y', 'ies'
+#
+# You can see the following results:
+# irb> "fly".plural
+# => flies
+# irb> "cry".plural
+# => cries
+#
+# Example for singularization rule:
+#
+# Language::English::Inflector.singular_rule 'o', 'oes'
+#
+# Works like this:
+# irb> "heroes".singular
+# => hero
+#
+# Example of pluralization rule:
+# Language::English::Inflector.singular_rule 'fe', 'ves'
+#
+# And the result is:
+# irb> "wife".plural
+# => wives
diff --git a/packages/chef-server/config/rack.rb b/packages/chef-server/config/rack.rb
new file mode 100644
index 0000000000..f00cf55eee
--- /dev/null
+++ b/packages/chef-server/config/rack.rb
@@ -0,0 +1 @@
+run Merb::Rack::Application.new \ No newline at end of file
diff --git a/packages/chef-server/config/router.rb b/packages/chef-server/config/router.rb
new file mode 100644
index 0000000000..500154be33
--- /dev/null
+++ b/packages/chef-server/config/router.rb
@@ -0,0 +1,50 @@
+# Merb::Router is the request routing mapper for the merb framework.
+#
+# You can route a specific URL to a controller / action pair:
+#
+# r.match("/contact").
+# to(:controller => "info", :action => "contact")
+#
+# You can define placeholder parts of the url with the :symbol notation. These
+# placeholders will be available in the params hash of your controllers. For example:
+#
+# r.match("/books/:book_id/:action").
+# to(:controller => "books")
+#
+# Or, use placeholders in the "to" results for more complicated routing, e.g.:
+#
+# r.match("/admin/:module/:controller/:action/:id").
+# to(:controller => ":module/:controller")
+#
+# You can also use regular expressions, deferred routes, and many other options.
+# See merb/specs/merb/router.rb for a fairly complete usage sample.
+
+Merb.logger.info("Compiling routes...")
+Merb::Router.prepare do |r|
+ # RESTful routes
+ # r.resources :posts
+
+ # This is the default route for /:controller/:action/:id
+ # This is fine for most cases. If you're heavily using resource-based
+ # routes, you may want to comment/remove this line to prevent
+ # clients from calling your create or destroy actions with a GET
+
+ r.resources :nodes
+ r.resources :nodes, :member => { :compile => :get }
+
+ r.match("/openid_server").to(:controller => "openid_server", :action => "index")
+ r.match("/openid_server/server/xrds").
+ to(:controller => "openid_server", :action => 'idp_xrds')
+ r.match("/openid_server/user/:username").
+ to(:controller => "openid_server", :action => 'user_page')
+ r.match('/openid_server/user/:username/xrds').
+ to(:controller => 'openid_server', :action => 'user_xrds')
+ r.match('/openid_login').to(:controller => 'openid_login', :action => 'index')
+ r.match('/openid_login/submit').to(:controller => 'openid_login', :action => 'submit')
+ r.match('/openid_login/logout').to(:controller => 'openid_login', :action => 'logout')
+
+ #r.default_routes
+
+ # Change this for your home page to be available at /
+ # r.match('/').to(:controller => 'whatever', :action =>'index')
+end \ No newline at end of file
diff --git a/packages/chef-server/log/merb_test.log b/packages/chef-server/log/merb_test.log
new file mode 100644
index 0000000000..d56430f23a
--- /dev/null
+++ b/packages/chef-server/log/merb_test.log
@@ -0,0 +1,3859 @@
+Wed, 14 May 2008 07:07:04 GMT ~ info ~ Logfile created
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.024802, :before_filters_time=>0.000222}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000116, :after_filters_time=>8.0e-06, :action_time=>0.001278}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.001212}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>6.0e-06, :action_time=>0.00118}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001156, :before_filters_time=>0.000111, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001213, :before_filters_time=>0.000115, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001327, :before_filters_time=>0.000108, :after_filters_time=>9.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001202, :before_filters_time=>0.0001, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001337, :before_filters_time=>0.000105, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001207, :before_filters_time=>0.000113, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001222, :before_filters_time=>0.000116, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001195, :before_filters_time=>0.000101}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001367, :before_filters_time=>0.000136, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001185, :before_filters_time=>0.000114, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001277, :before_filters_time=>0.000109, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001215, :before_filters_time=>0.000102, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001223, :before_filters_time=>0.0001, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001335, :before_filters_time=>0.000125, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000315, :before_filters_time=>9.5e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001247, :before_filters_time=>0.000113, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001186, :before_filters_time=>0.000112, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001332, :before_filters_time=>0.000122, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.00119, :before_filters_time=>0.000112, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001199, :before_filters_time=>0.000117, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001225, :before_filters_time=>0.000112, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001935, :before_filters_time=>0.000149, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001171, :before_filters_time=>0.00011, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001188, :before_filters_time=>0.000109, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001332, :before_filters_time=>0.000122, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001238, :before_filters_time=>0.000103, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>6.0e-06, :action_time=>0.001177}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001187, :before_filters_time=>0.0001, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001288, :before_filters_time=>0.000102, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001323, :before_filters_time=>0.000105, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001226, :before_filters_time=>0.000101, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.0012, :before_filters_time=>0.000102, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001198, :before_filters_time=>0.000102, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.002015, :before_filters_time=>0.00016, :after_filters_time=>1.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001281, :before_filters_time=>0.000103, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001184, :before_filters_time=>0.000101, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001205, :before_filters_time=>0.000105, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001178, :before_filters_time=>0.000101, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001178, :before_filters_time=>0.000113, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001215, :before_filters_time=>0.000111}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001171, :before_filters_time=>0.000113, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000101, :after_filters_time=>7.0e-06, :action_time=>0.001185}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000125, :after_filters_time=>6.0e-06, :action_time=>0.001767}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000119, :after_filters_time=>7.0e-06, :action_time=>0.001533}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000118, :after_filters_time=>6.0e-06, :action_time=>0.001226}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.0001, :after_filters_time=>1.4e-05, :action_time=>0.001227}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000104, :after_filters_time=>6.0e-06, :action_time=>0.001262}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000101, :after_filters_time=>7.0e-06, :action_time=>0.001199}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.0001, :after_filters_time=>6.0e-06, :action_time=>0.001208}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000101, :after_filters_time=>8.0e-06, :action_time=>0.001227}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.00027}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.0001, :after_filters_time=>7.0e-06, :action_time=>0.001197}
+ ~ {:before_filters_time=>7.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000272}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>9.9e-05, :after_filters_time=>7.0e-06, :action_time=>0.00121}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000228}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000101, :after_filters_time=>7.0e-06, :action_time=>0.001255}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000229}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>9.9e-05, :after_filters_time=>8.0e-06, :action_time=>0.001216}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000225}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.0001, :after_filters_time=>8.0e-06, :action_time=>0.001248}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000231}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001303, :before_filters_time=>0.000124, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000237, :before_filters_time=>8.5e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001202, :before_filters_time=>0.000114, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000223, :before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001214, :before_filters_time=>0.000119, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000227, :before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001192, :before_filters_time=>0.000124, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000227, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001212, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.0012, :before_filters_time=>0.000112, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000271, :before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001227, :before_filters_time=>0.000112, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000224, :before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001221, :before_filters_time=>0.000116, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000229, :before_filters_time=>8.5e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001209, :before_filters_time=>0.00011, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000223, :before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001209, :before_filters_time=>0.000112, :after_filters_time=>9.0e-06}
+ ~ {:action_time=>0.000227, :before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000105, :after_filters_time=>8.0e-06, :action_time=>0.001221}
+ ~ {:before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000235}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000108, :after_filters_time=>7.0e-06, :action_time=>0.001178}
+ ~ {:before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.00023}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>8.0e-06, :action_time=>0.001185}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000115, :after_filters_time=>8.0e-06, :action_time=>0.001284}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000247}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>7.0e-06, :action_time=>0.001235}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000227}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000114, :after_filters_time=>7.0e-06, :action_time=>0.001223}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000224}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>9.8e-05, :after_filters_time=>1.6e-05, :action_time=>0.001176}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000219}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001192, :before_filters_time=>9.9e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>7.9e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001274, :before_filters_time=>0.000103, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000238, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001568, :before_filters_time=>0.000104, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000225, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001172, :before_filters_time=>0.000109, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.00022, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000115, :after_filters_time=>7.0e-06, :action_time=>0.001284}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000226}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.001216, :before_filters_time=>0.000111}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000135, :after_filters_time=>3.1e-05, :action_time=>0.001259}
+ ~ {:before_filters_time=>8.5e-05, :after_filters_time=>7.0e-06, :action_time=>0.000265}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.001182}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>7.0e-06, :action_time=>0.000218}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>7.0e-06, :action_time=>0.001199}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>7.0e-06, :action_time=>0.000221}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>7.0e-06, :action_time=>0.001249}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000221}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.001254}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000224}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.001203}
+ ~ {:before_filters_time=>8.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000228}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>7.0e-06, :action_time=>0.001376}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.00023}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000147, :after_filters_time=>7.0e-06, :action_time=>0.001268}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.00024}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.001266, :before_filters_time=>0.000113}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.001196}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000222}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.00121, :before_filters_time=>9.9e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000222, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001221, :before_filters_time=>9.8e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000223, :before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001193, :before_filters_time=>9.9e-05, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000227, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001255, :before_filters_time=>0.000101, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000258, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001264, :before_filters_time=>0.000102, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000249, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000111, :after_filters_time=>7.0e-06, :action_time=>0.001203}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000221}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000118, :after_filters_time=>7.0e-06, :action_time=>0.001258}
+ ~ {:before_filters_time=>0.000109, :after_filters_time=>5.0e-06, :action_time=>0.0003}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000116, :after_filters_time=>8.0e-06, :action_time=>0.001274}
+ ~ {:before_filters_time=>8.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ {:before_filters_time=>3.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.00025}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000111, :after_filters_time=>7.0e-06, :action_time=>0.001246}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000227}
+ ~ {:before_filters_time=>4.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000273}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001194, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000233, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000293, :before_filters_time=>3.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>7.0e-06, :action_time=>0.001205}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022}
+ ~ {:before_filters_time=>4.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000266}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.001201}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000225}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00012, :after_filters_time=>8.0e-06, :action_time=>0.001336}
+ ~ {:before_filters_time=>9.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000247}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000241}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000111, :after_filters_time=>8.0e-06, :action_time=>0.001231}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000225}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.000236}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001177, :before_filters_time=>0.000111, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000223, :before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000241, :before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001252, :before_filters_time=>0.000114, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000224, :before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000246, :before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001292, :before_filters_time=>0.000122, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.00024, :before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000255, :before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001226, :before_filters_time=>0.000111, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000265, :before_filters_time=>4.0e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001282, :before_filters_time=>0.00013}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001285, :before_filters_time=>0.00012, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000223, :before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000255, :before_filters_time=>4.2e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001235, :before_filters_time=>0.000101, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000249, :before_filters_time=>7.9e-05, :after_filters_time=>1.3e-05}
+ ~ {:action_time=>0.000267, :before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001199, :before_filters_time=>0.000111, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000221, :before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.00024, :before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001185, :before_filters_time=>0.00011, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.00022, :before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000257, :before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001231, :before_filters_time=>0.000155}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001278, :before_filters_time=>0.000113, :after_filters_time=>8.0e-06}
+ ~ {:action_time=>0.000226, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.00027, :before_filters_time=>3.6e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>7.0e-06, :action_time=>0.001199}
+ ~ {:before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000227}
+ ~ {:before_filters_time=>3.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000279}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000112, :after_filters_time=>8.0e-06, :action_time=>0.001195}
+ ~ {:before_filters_time=>7.8e-05, :after_filters_time=>7.0e-06, :action_time=>0.000225}
+ ~ {:before_filters_time=>6.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.000312}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>9.9e-05, :after_filters_time=>8.0e-06, :action_time=>0.001214}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000219}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>9.9e-05, :after_filters_time=>7.0e-06, :action_time=>0.001192}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000221}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>7.0e-06, :action_time=>0.000265}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>7.0e-06, :action_time=>0.000269}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000102, :after_filters_time=>8.0e-06, :action_time=>0.001252}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000227}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000238}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.0001, :after_filters_time=>7.0e-06, :action_time=>0.001207}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000232}
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000276}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.00024}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000109, :after_filters_time=>8.0e-06, :action_time=>0.001177}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000223}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00025}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000245}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000114, :after_filters_time=>8.0e-06, :action_time=>0.001234}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000222}
+ ~ {:before_filters_time=>3.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000268}
+ ~ {:before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000252}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001758, :before_filters_time=>0.000118, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000254, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000258, :before_filters_time=>3.4e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000264, :before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001186, :before_filters_time=>0.000109, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000223, :before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00025, :before_filters_time=>3.4e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000268, :before_filters_time=>3.4e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.00116, :before_filters_time=>0.000108, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000226, :before_filters_time=>8.5e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000266, :before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000286, :before_filters_time=>3.6e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001203, :before_filters_time=>0.000111, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000222, :before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000263, :before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001198, :before_filters_time=>0.00011, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.00026, :before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000249, :before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000248, :before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001295, :before_filters_time=>0.000119, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000221, :before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000255, :before_filters_time=>3.4e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000245, :before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001195, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000257, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001188, :before_filters_time=>9.9e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000231, :before_filters_time=>7.5e-05, :after_filters_time=>1.1e-05}
+ ~ {:action_time=>0.000243, :before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000258, :before_filters_time=>4.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000733, :before_filters_time=>8.0e-05, :after_filters_time=>8.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001185, :before_filters_time=>0.000109, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000224, :before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000259, :before_filters_time=>3.3e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000305, :before_filters_time=>3.8e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000275, :before_filters_time=>9.5e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001518, :before_filters_time=>0.000106, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000235, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000241, :before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000253, :before_filters_time=>4.0e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00029, :before_filters_time=>8.3e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001196, :before_filters_time=>9.7e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000232, :before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000239, :before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000244, :before_filters_time=>3.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000273, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001297, :before_filters_time=>0.000114}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000263, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000277, :before_filters_time=>5.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001205, :before_filters_time=>0.000115, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000238, :before_filters_time=>8.7e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00024, :before_filters_time=>3.3e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000245, :before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00026, :before_filters_time=>7.8e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001142, :before_filters_time=>0.000108, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000219, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000236, :before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000237, :before_filters_time=>3.0e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000256, :before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001212, :before_filters_time=>0.0001, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000231, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000252, :before_filters_time=>3.5e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000298, :before_filters_time=>9.0e-05, :after_filters_time=>7.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001177, :before_filters_time=>9.9e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000232, :before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000235, :before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00028, :before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000264, :before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001227, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000297, :before_filters_time=>4.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001737, :before_filters_time=>0.000133}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000248, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.003685, :before_filters_time=>0.000128}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000285, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000279, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001232, :before_filters_time=>0.000108}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000836, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>4.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000297, :before_filters_time=>0.00011}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001256, :before_filters_time=>0.000114}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>7.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001297, :before_filters_time=>0.0001}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000103, :after_filters_time=>8.0e-06, :action_time=>0.001298}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.00024}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ {:before_filters_time=>3.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.00027}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000261}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000274}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000108, :after_filters_time=>7.0e-06, :action_time=>0.001191}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000223}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000244}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000263}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000267}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000246}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.00012, :after_filters_time=>7.0e-06, :action_time=>0.001284}
+ ~ {:before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000227}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000241}
+ ~ {:before_filters_time=>3.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000254}
+ ~ {:before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000282}
+ ~ {:before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000254}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.00026}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000113, :after_filters_time=>7.0e-06, :action_time=>0.001194}
+ ~ {:before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000236}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000241}
+ ~ {:before_filters_time=>3.9e-05, :after_filters_time=>7.0e-06, :action_time=>0.000276}
+ ~ {:before_filters_time=>9.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.000313}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000252}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.00026}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000109, :after_filters_time=>7.0e-06, :action_time=>0.001191}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000222}
+ ~ {:before_filters_time=>3.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.000266}
+ ~ {:before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000242}
+ ~ {:before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000289}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000261}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000252}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000159, :after_filters_time=>1.1e-05, :action_time=>0.002025}
+ ~ {:before_filters_time=>0.00011, :after_filters_time=>7.0e-06, :action_time=>0.000301}
+ ~ {:before_filters_time=>3.9e-05, :after_filters_time=>8.0e-06, :action_time=>0.000291}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000253}
+ ~ {:before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000268}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.00025}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000264}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000252}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000115, :after_filters_time=>7.0e-06, :action_time=>0.001266}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000365}
+ ~ {:before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.00027}
+ ~ {:before_filters_time=>3.9e-05, :after_filters_time=>8.0e-06, :action_time=>0.000285}
+ ~ {:before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000289}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000442}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000266}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000264}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000255}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>0.000113, :after_filters_time=>7.0e-06, :action_time=>0.001244}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000224}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000241}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000269}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000251}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000266}
+ ~ {:before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000261}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.001857, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000287, :before_filters_time=>0.0001}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000263, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.001777, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000298, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000287, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000298, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000321, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001351, :before_filters_time=>0.000111}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000238, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000319, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001232, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000266, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000267, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000262, :before_filters_time=>4.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000352, :before_filters_time=>0.000125}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.001807, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000238, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000287, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>4.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000266, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001117, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000238, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00158, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000283, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000257, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000406, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>8.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001139, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000596, :before_filters_time=>0.000429}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000335, :before_filters_time=>0.000111}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000241, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00024, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00112, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000231, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000241, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001114, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000202, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001112, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000202, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000226, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>1.7e-05, :action_time=>0.0011, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000531, :before_filters_time=>0.00038}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000289, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00029, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001183, :before_filters_time=>0.00011}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001116, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00028, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001113, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000206, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000223, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000297, :before_filters_time=>0.000126}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>7.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001243, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000207, :before_filters_time=>5.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000215, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.00024, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000644, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000278, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001188, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000451, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.00055, :before_filters_time=>0.000256}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000299, :before_filters_time=>4.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.003352, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000505, :before_filters_time=>0.000148}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000305, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000481, :before_filters_time=>0.000293}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001141, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>7.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001138, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000213, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000282, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000326, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000275, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001124, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000425, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000332, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000299, :before_filters_time=>7.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001104, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000216, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000215, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000299, :before_filters_time=>0.000123}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000328, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000314, :before_filters_time=>8.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001176, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00028, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000307, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000289, :before_filters_time=>5.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>7.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001123, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000214, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>1.4e-05, :action_time=>0.000267, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001112, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000206, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000288, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00028, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001104, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000278, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000277, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>8.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001095, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000207, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000798, :before_filters_time=>0.000595}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001128, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000212, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00038, :before_filters_time=>0.000142}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000804, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000303, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000303, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001125, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000223, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000265, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000264, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001141, :before_filters_time=>6.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000209, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000306, :before_filters_time=>0.000109}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>9.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00111, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000202, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000225, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>2.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000236, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001106, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000206, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000558, :before_filters_time=>0.000188}
+ ~ {:after_filters_time=>1.9e-05, :action_time=>0.000613, :before_filters_time=>0.00021}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001117, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000208, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00027, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000238, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000321, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000326, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.002271, :before_filters_time=>0.00056}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>0.000239}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001143, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000193, :before_filters_time=>4.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000271, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000293, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000292, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001268, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000311, :before_filters_time=>0.000133}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000223, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000311, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000282, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>8.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001177, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000218, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000309, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001129, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000212, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.0003, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001155, :before_filters_time=>0.000129}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000425, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000322, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00029, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00034, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001115, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>0.000265}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000284, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001231, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000247, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001168, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000199, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000234, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001156, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000206, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>7.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.001801, :before_filters_time=>0.000107}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000353, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.00048, :before_filters_time=>0.000146}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000371, :before_filters_time=>0.000127}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000357, :before_filters_time=>4.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000317, :before_filters_time=>4.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000318, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000302, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001141, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000206, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001121, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001229, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>6.4e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000278, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000218, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001191, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>0.000117}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000298, :before_filters_time=>0.0001}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00114, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00024, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000269, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001117, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000209, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000225, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>8.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001109, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>3.4e-05, :action_time=>0.000308, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000218, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001108, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>5.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000234, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001124, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000293, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000238, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000293, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000333, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001137, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000205, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000285, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001102, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000264, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001115, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000213, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000263, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001126, :before_filters_time=>6.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000203, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000224, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000305, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000284, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001199, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>0.000107}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000298, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001117, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>2.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000306, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000275, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001138, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000204, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00028, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>8.0e-06, :action_time=>0.001124}
+ ~ {:before_filters_time=>5.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000248}
+ ~ {:before_filters_time=>9.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000264}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000219}
+ ~ {:before_filters_time=>4.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000268}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000237}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.000291}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000253}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000268}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000262}
+ ~ {:before_filters_time=>9.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000276}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.4e-05, :after_filters_time=>7.0e-06, :action_time=>0.001116}
+ ~ {:before_filters_time=>5.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000208}
+ ~ {:before_filters_time=>9.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.000264}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000219}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000243}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000235}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>7.0e-06, :action_time=>0.000278}
+ ~ {:before_filters_time=>9.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.00027}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000272}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000243}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>8.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.001208}
+ ~ {:before_filters_time=>5.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000224}
+ ~ {:before_filters_time=>0.000103, :after_filters_time=>6.0e-06, :action_time=>0.000295}
+ ~ {:before_filters_time=>8.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000235}
+ ~ {:before_filters_time=>3.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000261}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000257}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.00027}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000263}
+ ~ {:before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000275}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001128, :before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000198, :before_filters_time=>5.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000269, :before_filters_time=>8.6e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000225, :before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000241, :before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000238, :before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000277, :before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000285, :before_filters_time=>9.9e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000269, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000267, :before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001216, :before_filters_time=>6.9e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000215, :before_filters_time=>6.2e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000274, :before_filters_time=>8.7e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000216, :before_filters_time=>7.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000236, :before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000251, :before_filters_time=>4.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000273, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000258, :before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000282, :before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000271, :before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000245, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001216, :before_filters_time=>6.7e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000391, :before_filters_time=>5.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000274, :before_filters_time=>8.7e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000224, :before_filters_time=>7.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00024, :before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000235, :before_filters_time=>3.8e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000307, :before_filters_time=>8.6e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000248, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000268, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000266, :before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000249, :before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.00119, :before_filters_time=>6.8e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000552, :before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000272, :before_filters_time=>8.6e-05, :after_filters_time=>7.0e-06}
+ ~ {:action_time=>0.000304, :before_filters_time=>0.000145, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000255, :before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000258, :before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00029, :before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000259, :before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.00028, :before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000301, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000265, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.001172}
+ ~ {:before_filters_time=>5.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000203}
+ ~ {:before_filters_time=>0.0001, :after_filters_time=>6.0e-06, :action_time=>0.000288}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022}
+ ~ {:before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00024}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000284}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000245}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000266}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000265}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000245}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>7.0e-06, :action_time=>0.001131}
+ ~ {:before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.0004}
+ ~ {:before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000297}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000218}
+ ~ {:before_filters_time=>2.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000234}
+ ~ {:before_filters_time=>3.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000285}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000248}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000267}
+ ~ {:before_filters_time=>7.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000264}
+ ~ {:before_filters_time=>0.000298, :after_filters_time=>6.0e-06, :action_time=>0.000469}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>7.0e-05, :after_filters_time=>7.0e-06, :action_time=>0.00123}
+ ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000895}
+ ~ {:before_filters_time=>0.000102, :after_filters_time=>6.0e-06, :action_time=>0.000285}
+ ~ {:before_filters_time=>9.6e-05, :after_filters_time=>8.0e-06, :action_time=>0.000307}
+ ~ {:before_filters_time=>3.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.000255}
+ ~ {:before_filters_time=>3.5e-05, :after_filters_time=>2.1e-05, :action_time=>0.000273}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.000309}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000266}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000266}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.00025}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.00113}
+ ~ {:before_filters_time=>5.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000434}
+ ~ {:before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000275}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000223}
+ ~ {:before_filters_time=>4.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00025}
+ ~ {:before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000275}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000248}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>1.1e-05, :action_time=>0.000267}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000258}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000242}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>7.0e-06, :action_time=>0.001114}
+ ~ {:before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000215}
+ ~ {:before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000263}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022}
+ ~ {:before_filters_time=>3.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000318}
+ ~ {:before_filters_time=>3.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.000244}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000275}
+ ~ {:before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000273}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>1.3e-05, :action_time=>0.000271}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000258}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000244}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06, :action_time=>0.001255}
+ ~ {:before_filters_time=>5.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000237}
+ ~ {:before_filters_time=>9.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.000287}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000213}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000241}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000262}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000264}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000242}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001117}
+ ~ {:before_filters_time=>5.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000213}
+ ~ {:before_filters_time=>8.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.000269}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>1.4e-05, :action_time=>0.000231}
+ ~ {:before_filters_time=>7.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.00029}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.00024}
+ ~ {:before_filters_time=>8.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000263}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000253}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000262}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000269}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000243}
+ ~ {:before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000369}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001151, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000264, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>3.5e-05, :action_time=>0.000866, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000254, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00039, :before_filters_time=>9.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001116}
+ ~ {:before_filters_time=>5.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000202}
+ ~ {:before_filters_time=>8.8e-05, :after_filters_time=>7.0e-06, :action_time=>0.000282}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000227}
+ ~ {:before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.00025}
+ ~ {:before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000233}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000251}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000261}
+ ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000309}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000253}
+ ~ {:before_filters_time=>8.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000369}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.001282}
+ ~ {:before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000289}
+ ~ {:before_filters_time=>9.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000269}
+ ~ {:before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000299}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000237}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000243}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000268}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000246}
+ ~ {:before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000267}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000251}
+ ~ {:before_filters_time=>9.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000379}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.001122}
+ ~ {:before_filters_time=>5.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000228}
+ ~ {:before_filters_time=>9.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000277}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000223}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000249}
+ ~ {:before_filters_time=>4.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000263}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000258}
+ ~ {:before_filters_time=>7.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000294}
+ ~ {:before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.00031}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.00025}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001111}
+ ~ {:before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000248}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.000287}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000225}
+ ~ {:before_filters_time=>3.1e-05, :after_filters_time=>1.2e-05, :action_time=>0.000245}
+ ~ {:before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000257}
+ ~ {:before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000281}
+ ~ {:before_filters_time=>7.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000277}
+ ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.0003}
+ ~ {:before_filters_time=>9.5e-05, :after_filters_time=>9.0e-06, :action_time=>0.000449}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001126, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000263, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>0.00016}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00029, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000273, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000558, :before_filters_time=>0.000105}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001135}
+ ~ {:before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000207}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000279}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000238}
+ ~ {:before_filters_time=>3.6e-05, :after_filters_time=>1.3e-05, :action_time=>0.000269}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000252}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000267}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000262}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000263}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000248}
+ ~ {:before_filters_time=>8.7e-05, :after_filters_time=>8.0e-06, :action_time=>0.000418}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001133, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000204, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000291, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000277, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000385, :before_filters_time=>9.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001132, :before_filters_time=>6.7e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000245, :before_filters_time=>5.4e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000271, :before_filters_time=>8.7e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000218, :before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000277, :before_filters_time=>3.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000239, :before_filters_time=>3.0e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000307, :before_filters_time=>0.000116, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000266, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000263, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000267, :before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000245, :before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000396, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:action_time=>0.001122, :before_filters_time=>6.8e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000203, :before_filters_time=>5.3e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000276, :before_filters_time=>9.4e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000217, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000257, :before_filters_time=>3.4e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000236, :before_filters_time=>3.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000269, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000259, :before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000288, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000274, :before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000243, :before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06}
+ ~ {:action_time=>0.000387, :before_filters_time=>9.1e-05, :after_filters_time=>5.0e-06}
+ ~ {:action_time=>0.000361, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00124, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000226, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000297, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.0003, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000298, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000304, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000389, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00036, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00169, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000304, :before_filters_time=>0.000106}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000232, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000283, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000412, :before_filters_time=>0.000115}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000323, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00039, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001158, :before_filters_time=>0.000117}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000205, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000289, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000383, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000372, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001115, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000209, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000299, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000231, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000323, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000372, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001183, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000218, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000263, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>0.000108}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000415, :before_filters_time=>9.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.001154}
+ ~ {:before_filters_time=>6.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000202}
+ ~ {:before_filters_time=>9.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000277}
+ ~ {:before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000222}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.00024}
+ ~ {:before_filters_time=>3.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000236}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000273}
+ ~ {:before_filters_time=>0.000118, :after_filters_time=>5.0e-06, :action_time=>0.000303}
+ ~ {:before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000278}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000361}
+ ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.00025}
+ ~ {:before_filters_time=>8.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000424}
+ ~ {:before_filters_time=>9.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000395}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:before_filters_time=>6.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.001231}
+ ~ {:before_filters_time=>6.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000228}
+ ~ {:before_filters_time=>0.000183, :after_filters_time=>6.0e-06, :action_time=>0.000383}
+ ~ {:before_filters_time=>0.000122, :after_filters_time=>6.0e-06, :action_time=>0.000276}
+ ~ {:before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239}
+ ~ {:before_filters_time=>3.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000235}
+ ~ {:before_filters_time=>0.000133, :after_filters_time=>6.0e-06, :action_time=>0.000335}
+ ~ {:before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.00026}
+ ~ {:before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000269}
+ ~ {:before_filters_time=>7.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000271}
+ ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000243}
+ ~ {:before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000381}
+ ~ {:before_filters_time=>0.000109, :after_filters_time=>6.0e-06, :action_time=>0.000426}
+ ~ {:before_filters_time=>9.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000373}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001118, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000304, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00036, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000456, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001201, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000213, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000249, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000292, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000294, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000396, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000367, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001257, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000382, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000226, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000241, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00029, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000466, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000399, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000352, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000507, :before_filters_time=>0.000157}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001533, :before_filters_time=>0.000107}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000323, :before_filters_time=>0.000111}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000316, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000277, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000408, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000373, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000371, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000352, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001125, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000226, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000387, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000352, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>9.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001185, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000211, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000291, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>4.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000317, :before_filters_time=>5.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000297, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000422, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00038, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000344, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.003335, :before_filters_time=>0.0029}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001122, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>6.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000312, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000277, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000387, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000383, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00035, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000385, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000366, :before_filters_time=>8.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001118, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000207, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000305, :before_filters_time=>0.000107}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000224, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000246, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000261, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000322, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000293, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000313, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001377, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000408, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000381, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.002472, :before_filters_time=>0.000182}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000429, :before_filters_time=>9.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001145, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>6.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000377, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000357, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000348, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000348, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000349, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001161, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000209, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00028, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000226, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000414, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000408, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000338, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000344, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000341, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001163, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000284, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000263, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.0003, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000255, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000266, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000367, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000381, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000374, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000407, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000347, :before_filters_time=>7.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001455, :before_filters_time=>0.000308}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001142, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000283, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000332, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000457, :before_filters_time=>0.000113}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000355, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000366, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000382, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000385, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00039, :before_filters_time=>8.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001143, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000215, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000276, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000236, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000254, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000469, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000374, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000398, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000401, :before_filters_time=>9.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00128, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000213, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000296, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000225, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000288, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000422, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000413, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000369, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000341, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000353, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001113, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000213, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000255, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000386, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00037, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000362, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00035, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000397, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000373, :before_filters_time=>8.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001216, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000208, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000286, :before_filters_time=>0.000107}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000315, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000385, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000447, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000362, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00035, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001104, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000208, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000287, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000333, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00038, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000372, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000354, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000343, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000347, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000345, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001135, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000211, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000336, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000425, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000417, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000357, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000349, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000355, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000347, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001183, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000403, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000382, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00034, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00035, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00036, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001254, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000297, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000312, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000324, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000427, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000379, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000362, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000356, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000351, :before_filters_time=>7.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001133, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000206, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00024, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000275, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000434, :before_filters_time=>0.000218}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000393, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000389, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000351, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000439, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00036, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001131, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00023, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000405, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00038, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000359, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000346, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000348, :before_filters_time=>7.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001129, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000201, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000285, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000411, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000354, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00036, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00036, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000352, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001168, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>6.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000228, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000403, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.0004, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00038, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000351, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000351, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000375, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001183, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000321, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000413, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000359, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000357, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001136, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000387, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000381, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000361, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000345, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00035, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00122, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000196, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000223, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000327, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000308, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000378, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000392, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000709, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000375, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000529, :before_filters_time=>0.000228}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000358, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001189, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000353, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.0019, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000278, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000385, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000349, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000519, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000355, :before_filters_time=>9.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001223, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000411, :before_filters_time=>0.000254}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.000392, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000927, :before_filters_time=>0.000495}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000452, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000393, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000349, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000349, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000341, :before_filters_time=>7.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.001217, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000216, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00027, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000452, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000381, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000373, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000351, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000435, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000346, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.0012, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000304, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000372, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000376, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000346, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00037, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000339, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001169, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000207, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000265, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00025, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000289, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000249, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000375, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000351, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000342, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001129, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000524, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000316, :before_filters_time=>0.000123}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000283, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000274, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000327, :before_filters_time=>4.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000309, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000423, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000255, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000491, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000379, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000406, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000438, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000369, :before_filters_time=>9.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001207, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>2.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000283, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000376, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000384, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000339, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000357, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000378, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001152, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000236, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.00027, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000266, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000455, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000485, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000417, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000427, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000401, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001127, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000275, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000459, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000479, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000397, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000463, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00041, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00416, :before_filters_time=>0.003791}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001634, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000203, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000298, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000227, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000234, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000282, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00045, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000467, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000777, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000396, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000408, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00063, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001229, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000208, :before_filters_time=>6.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000232, :before_filters_time=>2.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000294, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000459, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000474, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000379, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000439, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000435, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001172, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>1.4e-05, :action_time=>0.000237, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000312, :before_filters_time=>0.000118}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000461, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000529, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000417, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000391, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000423, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>1.7e-05, :action_time=>0.00119, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000213, :before_filters_time=>5.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>4.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000299, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000287, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000436, :before_filters_time=>0.000244}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000451, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000471, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000413, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00042, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000427, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000384, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001149, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000312, :before_filters_time=>0.00011}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000232, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00031, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000307, :before_filters_time=>0.00011}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000382, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000475, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000443, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.002583, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000424, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000496, :before_filters_time=>0.000175}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000386, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001183, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00023, :before_filters_time=>5.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000217, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000231, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000241, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000289, :before_filters_time=>0.000112}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000448, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000623, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000378, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000378, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000378, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001126, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000278, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000249, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000258, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000461, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000393, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>0.000132, :action_time=>0.000591, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000507, :before_filters_time=>9.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00113, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00036, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000293, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000337, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000303, :before_filters_time=>0.000114}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000256, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000474, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000466, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000534, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000398, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000397, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000386, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001131, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000422, :before_filters_time=>6.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000299, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000291, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000259, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000522, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000524, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000434, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.003198, :before_filters_time=>0.001016}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00043, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>9.5e-05, :action_time=>0.000504, :before_filters_time=>9.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001114, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000212, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000746, :before_filters_time=>0.000437}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.000433, :before_filters_time=>0.000194}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>1.4e-05, :action_time=>0.000287, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000268, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000507, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>8.5e-05, :action_time=>0.001961, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000547, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.0004, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000392, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000414, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001132, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000497, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000462, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000461, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000413, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000396, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000394, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001286, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000212, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000275, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000463, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000466, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.004664, :before_filters_time=>0.001598}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000427, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000438, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000494, :before_filters_time=>0.0001}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001125, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000213, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000278, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000493, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000435, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00037, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000372, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000379, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.004774, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001218, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000201, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000289, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000458, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000509, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000438, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000506, :before_filters_time=>0.000142}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00047, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001147, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00021, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000473, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000463, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000456, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000405, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000429, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000382, :before_filters_time=>7.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001119, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000205, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000301, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000469, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000474, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000459, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000393, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000394, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001144, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000202, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000305, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000457, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000437, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000422, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000449, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000403, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00039, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001225, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001048, :before_filters_time=>0.000869}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000229, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000316, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000288, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000289, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.0003, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000287, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000493, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000447, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000559, :before_filters_time=>0.000148}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000491, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000424, :before_filters_time=>8.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001593, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000227, :before_filters_time=>5.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000229, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000273, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00035, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000458, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000446, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000384, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000393, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.004238, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000422, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001133, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00024, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00029, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000275, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001906, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00047, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000457, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000424, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000403, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000424, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000443, :before_filters_time=>8.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001259, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000419, :before_filters_time=>0.000121}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000283, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>4.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000291, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000313, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000653, :before_filters_time=>0.000108}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000467, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001269, :before_filters_time=>0.000869}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000431, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00043, :before_filters_time=>9.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001144, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000212, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00029, :before_filters_time=>0.000102}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000428, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>2.0e-05, :action_time=>0.001209, :before_filters_time=>0.000354}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000406, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000626, :before_filters_time=>0.000106}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001313, :before_filters_time=>0.000124}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000541, :before_filters_time=>9.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000455, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000621, :before_filters_time=>0.000141}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000568, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00045, :before_filters_time=>9.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001323, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000314, :before_filters_time=>4.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00031, :before_filters_time=>0.000109}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000251, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000502, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000517, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000432, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001523, :before_filters_time=>0.00031}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001887, :before_filters_time=>0.000743}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000467, :before_filters_time=>9.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001126, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000293, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000238, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000279, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000477, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000571, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000474, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000442, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000385, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.0004, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.001117, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000293, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>4.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>3.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000469, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000554, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000416, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000391, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>8.5e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001139, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000215, :before_filters_time=>5.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000275, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000218, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000298, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00046, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00052, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00042, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000381, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001711, :before_filters_time=>0.000633}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000454, :before_filters_time=>8.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001236, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000421, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000464, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000457, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000453, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000429, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000409, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.004895, :before_filters_time=>0.000728}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001131, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000239, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000282, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000302, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000296, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000508, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00044, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00038, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000397, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000393, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000406, :before_filters_time=>8.0e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001115, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>5.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00027, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000234, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000469, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00047, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000396, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000378, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000411, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000846, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.0011, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000202, :before_filters_time=>6.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00028, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000225, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000554, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000466, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00046, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000383, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.003397, :before_filters_time=>0.002858}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001156, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000211, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00029, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000462, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000451, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000405, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000421, :before_filters_time=>0.000115}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000402, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000401, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001223, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000209, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000286, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000232, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000292, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000411, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000293, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000337, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000298, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000458, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000435, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.002253, :before_filters_time=>0.0001}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000436, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>8.3e-05, :action_time=>0.003806, :before_filters_time=>0.000844}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000416, :before_filters_time=>8.3e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001132, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000195, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000227, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>2.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001011, :before_filters_time=>3.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000288, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000452, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000439, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>8.3e-05, :action_time=>0.001067, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>0.001002, :action_time=>0.004015, :before_filters_time=>0.000874}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001275, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242999999999993, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000292, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000266, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000509, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000445, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000398, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000393, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00043, :before_filters_time=>8.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001144, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.0003, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000292, :before_filters_time=>4.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>4.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000282, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000378, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000752, :before_filters_time=>0.000413}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000377, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000352, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000369, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001131, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000212, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000617, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>1.5e-05, :action_time=>0.000254, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000308, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000391, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000788, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000368, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000407, :before_filters_time=>0.000125}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>0.0001}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001179, :before_filters_time=>7.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000207, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>6.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000244, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000325, :before_filters_time=>0.000133}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000272, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000484, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000355, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000346, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000354, :before_filters_time=>8.5e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001422, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000259, :before_filters_time=>5.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000308, :before_filters_time=>4.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000277, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000273, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000372, :before_filters_time=>0.000136}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000377, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000373, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000354, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000476, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000356, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>8.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001266, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000213, :before_filters_time=>5.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000406, :before_filters_time=>0.000106}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000228, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000307, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000375, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000342, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000349, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.002406, :before_filters_time=>8.9e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001132, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000489, :before_filters_time=>0.000331}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283, :before_filters_time=>4.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000284, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000439, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000437, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000393, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000371, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>0.000105, :action_time=>0.000668, :before_filters_time=>0.000216}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.000359, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001119, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000264, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000418, :before_filters_time=>0.000108}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000235, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>4.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000263, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000252, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000368, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000432, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00258, :before_filters_time=>0.000128}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000371, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000356, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00035, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.001103, :before_filters_time=>6.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000204, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>0.000106}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000809, :before_filters_time=>4.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000292, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000278, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000382, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000374, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000356, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000339, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000378, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000367, :before_filters_time=>8.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.001226, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000335, :before_filters_time=>0.000158}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000247, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>0.000132}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000403, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000368, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000371, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000362, :before_filters_time=>8.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00112, :before_filters_time=>7.1e-05}
+ ~ {:after_filters_time=>1.4e-05, :action_time=>0.000392, :before_filters_time=>6.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000288, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000416, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00038, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000358, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>1.1e-05, :action_time=>0.000346, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000352, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000381, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001161, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000228, :before_filters_time=>6.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>9.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.1e-05}
+ ~ {:after_filters_time=>1.4e-05, :action_time=>0.000275, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00031, :before_filters_time=>0.000104}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000391, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000383, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000723, :before_filters_time=>0.000187}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000555, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000367, :before_filters_time=>8.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001122, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.0003, :before_filters_time=>5.1e-05}
+ ~ {:after_filters_time=>1.4e-05, :action_time=>0.000259, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000292, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000293, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000385, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000385, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000417, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00035, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>1.3e-05, :action_time=>0.002708, :before_filters_time=>0.000197}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.000335, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.000461, :before_filters_time=>0.000159}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.000391, :before_filters_time=>0.000145}
+ ~ {:after_filters_time=>8.9e-05, :action_time=>0.000491, :before_filters_time=>5.8e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.00034, :before_filters_time=>4.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00034, :before_filters_time=>0.000107}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000338, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000315, :before_filters_time=>9.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000309, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000361, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000332, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000362, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000352, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000333, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:
+
+undefined method `connect' for #<Merb::Router::Behavior:0x1830bfc> - (NoMethodError)
+
+/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:37
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router.rb:48:in `prepare'
+/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:23
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment'
+./spec/views/nodes/../../spec_helper.rb:5
+/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
+/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
+./spec/views/nodes/new.html.erb_spec.rb:1
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
+/usr/bin/spec:19:in `load'
+/usr/bin/spec:19
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:
+
+undefined method `connect' for #<Merb::Router::Behavior:0x183105c> - (NoMethodError)
+
+/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:37
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router.rb:48:in `prepare'
+/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:23
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment'
+./spec/views/nodes/../../spec_helper.rb:5
+/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
+/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
+./spec/views/nodes/new.html.erb_spec.rb:1
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
+/usr/bin/spec:19:in `load'
+/usr/bin/spec:19
+ ~ Compiling routes...
+ ~ Compiling routes...
+ ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:
+
+undefined method `connect' for #<Merb::Router::Behavior:0x1830e7c> - (NoMethodError)
+
+/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:38
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router.rb:48:in `prepare'
+/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:23
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start'
+/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment'
+./spec/views/nodes/../../spec_helper.rb:5
+/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
+/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
+./spec/views/nodes/new.html.erb_spec.rb:1
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
+/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
+/usr/bin/spec:19:in `load'
+/usr/bin/spec:19
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001121, :before_filters_time=>7.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000207, :before_filters_time=>5.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000301, :before_filters_time=>0.00011}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>0.0001}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>1.0e-05, :action_time=>0.000405, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000404, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00033, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000351, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000368, :before_filters_time=>9.1e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.0011, :before_filters_time=>7.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000218, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000251, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000357, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000352, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000355, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000324, :before_filters_time=>7.7e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001294, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>6.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000298, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000213, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000256, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000236, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000254, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.00049, :before_filters_time=>0.000141}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000437, :before_filters_time=>0.000123}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000382, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000421, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>9.0e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001103, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000203, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000337, :before_filters_time=>0.000114}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000249, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000283, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000256, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000242, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00036, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00033, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000348, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000356, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001273, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000198, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000252, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00023, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000588, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001921, :before_filters_time=>0.00158}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000379, :before_filters_time=>9.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000347, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000327, :before_filters_time=>7.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001182, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>6.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000319, :before_filters_time=>0.000108}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000361, :before_filters_time=>6.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.002333, :before_filters_time=>4.5e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.002026, :before_filters_time=>0.000117}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000276, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000286, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>1.2e-05, :action_time=>0.006438, :before_filters_time=>0.000105}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000429, :before_filters_time=>0.0001}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000411, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000412, :before_filters_time=>0.000103}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001645, :before_filters_time=>0.001293}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00037, :before_filters_time=>9.2e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001276, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000271, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000217, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000254, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000239, :before_filters_time=>3.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000316, :before_filters_time=>0.000139}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00024, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00037, :before_filters_time=>8.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000357, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000333, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000331, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000345, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00035, :before_filters_time=>7.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001118, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000194, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>0.000118}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000241, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000381, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000331, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000326, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000341, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000336, :before_filters_time=>8.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00124, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>9.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000215, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000249, :before_filters_time=>3.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000308, :before_filters_time=>0.000101}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.1e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00039, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000373, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>9.0e-06, :action_time=>0.000377, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000335, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000322, :before_filters_time=>7.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001179, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>5.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000216, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000231, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>0.000185}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>9.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000399, :before_filters_time=>9.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000358, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000342, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000326, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000331, :before_filters_time=>7.9e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001127, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000198, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000307, :before_filters_time=>0.000109}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00024, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000256, :before_filters_time=>3.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000234, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.8e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000288, :before_filters_time=>8.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000306, :before_filters_time=>9.9e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000386, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00036, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>8.0e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00087, :before_filters_time=>9.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000333, :before_filters_time=>7.8e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001102, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>5.5e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000348, :before_filters_time=>0.000142}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000257, :before_filters_time=>3.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00026, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000362, :before_filters_time=>8.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000353, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000327, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000326, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000335, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000326, :before_filters_time=>7.6e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.001175, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>5.8e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000236, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000246, :before_filters_time=>3.3e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000293, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000258, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>2.6e-05, :action_time=>0.000574, :before_filters_time=>8.2e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000371, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.000369, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000491, :before_filters_time=>0.000143}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000366, :before_filters_time=>8.4e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.00039, :before_filters_time=>9.4e-05}
+ ~ Compiling routes...
+ ~ Using 'share-nothing' cookie sessions (4kb limit per client)
+ ~ {:after_filters_time=>8.0e-06, :action_time=>0.001161, :before_filters_time=>7.9e-05}
+ ~ {:after_filters_time=>7.0e-06, :action_time=>0.000201, :before_filters_time=>5.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000232, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000231, :before_filters_time=>3.2e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.6e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>7.4e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000369, :before_filters_time=>8.3e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>6.0e-06, :action_time=>0.000325, :before_filters_time=>7.7e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000327, :before_filters_time=>7.5e-05}
+ ~ {:after_filters_time=>5.0e-06, :action_time=>0.000348, :before_filters_time=>7.8e-05}
diff --git a/packages/chef-server/public/images/merb.jpg b/packages/chef-server/public/images/merb.jpg
new file mode 100644
index 0000000000..a19dcf4048
--- /dev/null
+++ b/packages/chef-server/public/images/merb.jpg
Binary files differ
diff --git a/packages/chef-server/public/merb.fcgi b/packages/chef-server/public/merb.fcgi
new file mode 100644
index 0000000000..9804e0f36d
--- /dev/null
+++ b/packages/chef-server/public/merb.fcgi
@@ -0,0 +1,22 @@
+#!/usr/bin/env ruby
+
+require 'rubygems'
+require 'merb-core'
+
+# this is Merb.root, change this if you have some funky setup.
+merb_root = File.expand_path(File.dirname(__FILE__) / '../')
+
+# If the fcgi process runs as apache, make sure
+# we have an inlinedir set for Rubyinline action-args to work
+unless ENV["INLINEDIR"] || ENV["HOME"]
+ tmpdir = merb_root / "tmp"
+ unless File.directory?(tmpdir)
+ Dir.mkdir(tmpdir)
+ end
+ ENV["INLINEDIR"] = tmpdir
+end
+
+# start merb with the fcgi adapter, add options or change the log dir here
+Merb.start(:adapter => 'fcgi',
+ :merb_root => merb_root,
+ :log_file => merb_root /'log'/'merb.log') \ No newline at end of file
diff --git a/packages/chef-server/public/stylesheets/master.css b/packages/chef-server/public/stylesheets/master.css
new file mode 100644
index 0000000000..70580148a7
--- /dev/null
+++ b/packages/chef-server/public/stylesheets/master.css
@@ -0,0 +1,153 @@
+body {
+ font-family: Arial, Verdana, sans-serif;
+ font-size: 12px;
+ background-color: #fff;
+ margin: ;
+}
+html {
+ height: 100%;
+ margin-bottom: 1px;
+}
+#container {
+ width: 80%;
+ text-align: left;
+ background-color: #fff;
+ margin-right: auto;
+ margin-left: auto;
+}
+#header-container {
+ width: 100%;
+ padding-top: 15px;
+}
+#header-container h1, #header-container h2 {
+ margin-left: 6px;
+ margin-bottom: 6px;
+}
+.spacer {
+ width: 100%;
+ height: 15px;
+}
+hr {
+ border: 0px;
+ color: #ccc;
+ background-color: #cdcdcd;
+ height: 1px;
+ width: 100%;
+ text-align: left;
+}
+h1 {
+ font-size: 28px;
+ color: #c55;
+ background-color: #fff;
+ font-family: Arial, Verdana, sans-serif;
+ font-weight: 300;
+}
+h2 {
+ font-size: 15px;
+ color: #999;
+ font-family: Arial, Verdana, sans-serif;
+ font-weight: 300;
+ background-color: #fff;
+}
+h3 {
+ color: #4d9b12;
+ font-size: 15px;
+ text-align: left;
+ font-weight: 300;
+ padding: 5px;
+ margin-top: 5px;
+}
+
+#left-container {
+ float: left;
+ width: 250px;
+ background-color: #FFFFFF;
+ color: black;
+}
+
+#left-container h3 {
+ color: #c55;
+}
+
+#main-container {
+ margin: 5px 5px 5px 260px;
+ padding: 15px;
+ border-left: 1px solid silver;
+ min-height: 400px;
+}
+p {
+ color: #000;
+ background-color: #fff;
+ line-height: 20px;
+ padding: 5px;
+}
+a {
+ color: #4d9b12;
+ background-color: #fff;
+ text-decoration: none;
+}
+a:hover {
+ color: #4d9b12;
+ background-color: #fff;
+ text-decoration: underline;
+}
+#footer-container {
+ clear: both;
+ font-size: 12px;
+ font-family: Verdana, Arial, sans-serif;
+}
+.right {
+ float: right;
+ font-size: 100%;
+ margin-top: 5px;
+ color: #999;
+ background-color: #fff;
+}
+.left {
+ float: left;
+ font-size: 100%;
+ margin-top: 5px;
+ color: #999;
+ background-color: #fff;
+}
+#main-container ul {
+ margin-left: 3.0em;
+}
+
+div.resource_collection {
+ border: 1px solid #999;
+ float: left;
+ clear: both;
+ margin: 10px;
+ padding: 5px;
+}
+
+div.resource {
+ border-top: 1px solid #999;
+ float: left;
+ clear: both;
+}
+
+div.attr_group {
+ float: left;
+ clear: both;
+}
+
+td.attr_name {
+ font-weight: bold;
+ margin-right: 10px;
+ border-right: 1px solid #999;
+}
+
+td.attr_value {
+ padding-left: 5px;
+ border-top: 1px solid #999;
+}
+
+div.node {
+ float: left;
+ clear: both;
+ margin: 10px;
+ padding: 5px;
+ border: 1px solid #999;
+} \ No newline at end of file
diff --git a/packages/chef-server/spec/controllers/nodes_spec.rb b/packages/chef-server/spec/controllers/nodes_spec.rb
new file mode 100644
index 0000000000..b28714cc40
--- /dev/null
+++ b/packages/chef-server/spec/controllers/nodes_spec.rb
@@ -0,0 +1,206 @@
+require File.join(File.dirname(__FILE__), "..", 'spec_helper.rb')
+
+describe Nodes, "index action" do
+ it "should get a list of all the nodes" do
+ Chef::FileStore.should_receive(:list).with("node").and_return(["one"])
+ dispatch_to(Nodes, :index) do |c|
+ c.stub!(:display)
+ end
+ end
+
+ it "should send a list of nodes to display" do
+ Chef::FileStore.stub!(:list).and_return(["one"])
+ dispatch_to(Nodes, :index) do |c|
+ c.should_receive(:display).with(["one"])
+ end
+ end
+end
+
+describe Nodes, "show action" do
+ it "should load a node from the filestore based on the id" do
+ node = stub("Node", :null_object => true)
+ Chef::FileStore.should_receive(:load).with("node", "bond").once.and_return(node)
+ dispatch_to(Nodes, :show, { :id => "bond" }) do |c|
+ c.should_receive(:display).with(node).once.and_return(true)
+ end
+ end
+
+ it "should return 200 on a well formed request" do
+ node = stub("Node", :null_object => true)
+ Chef::FileStore.should_receive(:load).with("node", "bond").once.and_return(node)
+ controller = dispatch_to(Nodes, :show, { :id => "bond" }) do |c|
+ c.stub!(:display)
+ end
+ controller.status.should eql(200)
+ end
+
+ it "should raise a BadRequest if the id is not found" do
+ Chef::FileStore.should_receive(:load).with("node", "bond").once.and_raise(RuntimeError)
+ lambda {
+ dispatch_to(Nodes, :show, { :id => "bond" })
+ }.should raise_error(Merb::ControllerExceptions::BadRequest)
+ end
+end
+
+describe Nodes, "create action" do
+ it "should create a node from an inflated object" do
+ mnode = mock("Node", :null_object => true)
+ mnode.stub!(:name).and_return("one")
+ Chef::FileStore.should_receive(:store).with("node", "one", mnode).once.and_return(true)
+ Chef::Queue.should_receive(:send_msg).with(:queue, :node_index, mnode).once.and_return(true)
+ controller = dispatch_to(Nodes, :create) do |c|
+ c.stub!(:params).and_return({ "inflated_object" => mnode })
+ c.stub!(:display)
+ end
+ controller.status.should eql(202)
+ end
+
+ it "should raise an exception if it cannot inflate an object" do
+ lambda { dispatch_to(Nodes, :create) }.should raise_error(Merb::Controller::BadRequest)
+ end
+end
+
+describe Nodes, "update action" do
+ it "should update a node from an inflated object" do
+ mnode = mock("Node", :null_object => true)
+ mnode.stub!(:name).and_return("one")
+ Chef::FileStore.should_receive(:store).with("node", "one", mnode).once.and_return(true)
+ Chef::Queue.should_receive(:send_msg).with(:queue, :node_index, mnode).once.and_return(true)
+ controller = dispatch_to(Nodes, :update) do |c|
+ c.stub!(:params).and_return({ "inflated_object" => mnode })
+ c.stub!(:display)
+ end
+ controller.status.should eql(202)
+ end
+
+ it "should raise an exception if it cannot inflate an object" do
+ lambda { dispatch_to(Nodes, :update) }.should raise_error(Merb::Controller::BadRequest)
+ end
+end
+
+describe Nodes, "destroy action" do
+ def do_destroy
+ dispatch_to(Nodes, :destroy, { :id => "one" }) do |c|
+ c.stub!(:display)
+ end
+ end
+
+ it "should load the node it's about to destroy from the filestore" do
+ mnode = stub("Node", :null_object => true)
+ Chef::FileStore.should_receive(:load).with("node", "one").once.and_return(mnode)
+ Chef::FileStore.stub!(:delete)
+ Chef::Queue.stub!(:send_msg)
+ do_destroy
+ end
+
+ it "should raise an exception if it cannot find the node to destroy" do
+ Chef::FileStore.should_receive(:load).with("node", "one").once.and_raise(RuntimeError)
+ lambda { do_destroy }.should raise_error(Merb::Controller::BadRequest)
+ end
+
+ it "should remove the node from the filestore" do
+ mnode = stub("Node", :null_object => true)
+ Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode)
+ Chef::FileStore.should_receive(:delete).with("node", "one")
+ Chef::Queue.stub!(:send_msg)
+ do_destroy
+ end
+
+ it "should remove the node from the search index" do
+ mnode = stub("Node", :null_object => true)
+ Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode)
+ Chef::FileStore.stub!(:delete)
+ Chef::Queue.should_receive(:send_msg).with(:queue, :node_remove, mnode)
+ do_destroy
+ end
+
+ it "should return the node it just deleted" do
+ mnode = stub("Node", :null_object => true)
+ Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode)
+ Chef::FileStore.stub!(:delete)
+ Chef::Queue.stub!(:send_msg)
+ dispatch_to(Nodes, :destroy, { :id => "one" }) do |c|
+ c.should_receive(:display).once.with(mnode)
+ end
+ end
+
+ it "should return a status of 202" do
+ mnode = stub("Node", :null_object => true)
+ Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode)
+ Chef::FileStore.stub!(:delete)
+ Chef::Queue.stub!(:send_msg)
+ controller = do_destroy
+ controller.status.should eql(202)
+ end
+end
+
+describe Nodes, "compile action" do
+ before(:each) do
+ @compile = stub("Compile", :null_object => true)
+ @node = stub("Node", :null_object => true)
+ @node.stub!(:[]).and_return(true)
+ @node.stub!(:[]=).and_return(true)
+ @node.stub!(:recipes).and_return([])
+ @compile.stub!(:load_definitions).and_return(true)
+ @compile.stub!(:load_recipes).and_return(true)
+ @compile.stub!(:collection).and_return([])
+ @compile.stub!(:node, @node)
+ @compile.stub!(:load_node).and_return(true)
+ @stored_node = stub("Stored Node", :null_object => true)
+ end
+
+ def do_compile
+ Chef::FileStore.stub!(:load).and_return(@stored_node)
+ Chef::Compile.stub!(:new).and_return(@compile)
+ dispatch_to(Nodes, :compile, { :id => "one" }) do |c|
+ c.stub!(:display)
+ end
+ end
+
+ it "should load the node from the node resource" do
+ @compile.should_receive(:load_node).with("one").and_return(true)
+ do_compile
+ end
+
+ it "should merge the data with the currently stored node" do
+ node1 = Chef::Node.new
+ node1.name "adam"
+ node1.music "crowe"
+ node1.recipes << "monkey"
+ @compile.stub!(:node).and_return(node1)
+ @stored_node = Chef::Node.new
+ @stored_node.name "adam"
+ @stored_node.music "crown"
+ @stored_node.woot "woot"
+ @stored_node.recipes << "monkeysoup"
+ do_compile
+ node1.name.should eql("adam")
+ node1.music.should eql("crown")
+ node1.woot.should eql("woot")
+ node1.recipes.should eql([ "monkey", "monkeysoup" ])
+ end
+
+ it "should load definitions" do
+ @compile.should_receive(:load_definitions)
+ do_compile
+ end
+
+ it "should load recipes" do
+ @compile.should_receive(:load_recipes)
+ do_compile
+ end
+
+ it "should display the collection and node object" do
+ Chef::FileStore.stub!(:load).and_return(@stored_node)
+ Chef::Compile.stub!(:new).and_return(@compile)
+ dispatch_to(Nodes, :compile, { :id => "one" }) do |c|
+ c.should_receive(:display).with({ :collection => [], :node => nil })
+ end
+ end
+
+ it "should return 200" do
+ controller = do_compile
+ controller.status.should eql(200)
+ end
+
+end \ No newline at end of file
diff --git a/packages/chef-server/spec/helpers/nodes_helpers.rb b/packages/chef-server/spec/helpers/nodes_helpers.rb
new file mode 100644
index 0000000000..fb68a5e787
--- /dev/null
+++ b/packages/chef-server/spec/helpers/nodes_helpers.rb
@@ -0,0 +1,5 @@
+require File.join(File.dirname(__FILE__), "..", 'spec_helper.rb')
+
+describe Merb::NodesHelper do
+
+end \ No newline at end of file
diff --git a/packages/chef-server/spec/spec.opts b/packages/chef-server/spec/spec.opts
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/chef-server/spec/spec.opts
diff --git a/packages/chef-server/spec/spec_helper.rb b/packages/chef-server/spec/spec_helper.rb
new file mode 100644
index 0000000000..d265d70ddf
--- /dev/null
+++ b/packages/chef-server/spec/spec_helper.rb
@@ -0,0 +1,11 @@
+require 'rubygems'
+require 'merb-core'
+require 'spec' # Satiates Autotest and anyone else not using the Rake tasks
+
+Merb.start_environment(:testing => true, :adapter => 'runner', :environment => ENV['MERB_ENV'] || 'test')
+
+Spec::Runner.configure do |config|
+ config.include(Merb::Test::ViewHelper)
+ config.include(Merb::Test::RouteHelper)
+ config.include(Merb::Test::ControllerHelper)
+end
diff --git a/packages/chef-server/spec/views/nodes/delete.html.erb_spec.rb b/packages/chef-server/spec/views/nodes/delete.html.erb_spec.rb
new file mode 100644
index 0000000000..33a0c3631f
--- /dev/null
+++ b/packages/chef-server/spec/views/nodes/delete.html.erb_spec.rb
@@ -0,0 +1 @@
+require File.join(File.dirname(__FILE__), "../..", 'spec_helper.rb') \ No newline at end of file
diff --git a/packages/chef-server/spec/views/nodes/edit.html.erb_spec.rb b/packages/chef-server/spec/views/nodes/edit.html.erb_spec.rb
new file mode 100644
index 0000000000..33a0c3631f
--- /dev/null
+++ b/packages/chef-server/spec/views/nodes/edit.html.erb_spec.rb
@@ -0,0 +1 @@
+require File.join(File.dirname(__FILE__), "../..", 'spec_helper.rb') \ No newline at end of file
diff --git a/packages/chef-server/spec/views/nodes/index.html.erb_spec.rb b/packages/chef-server/spec/views/nodes/index.html.erb_spec.rb
new file mode 100644
index 0000000000..33a0c3631f
--- /dev/null
+++ b/packages/chef-server/spec/views/nodes/index.html.erb_spec.rb
@@ -0,0 +1 @@
+require File.join(File.dirname(__FILE__), "../..", 'spec_helper.rb') \ No newline at end of file
diff --git a/packages/chef-server/spec/views/nodes/new.html.erb_spec.rb b/packages/chef-server/spec/views/nodes/new.html.erb_spec.rb
new file mode 100644
index 0000000000..33a0c3631f
--- /dev/null
+++ b/packages/chef-server/spec/views/nodes/new.html.erb_spec.rb
@@ -0,0 +1 @@
+require File.join(File.dirname(__FILE__), "../..", 'spec_helper.rb') \ No newline at end of file
diff --git a/packages/chef-server/spec/views/nodes/show.html.erb_spec.rb b/packages/chef-server/spec/views/nodes/show.html.erb_spec.rb
new file mode 100644
index 0000000000..33a0c3631f
--- /dev/null
+++ b/packages/chef-server/spec/views/nodes/show.html.erb_spec.rb
@@ -0,0 +1 @@
+require File.join(File.dirname(__FILE__), "../..", 'spec_helper.rb') \ No newline at end of file
diff --git a/spec/unit/config_spec.rb b/spec/unit/config_spec.rb
index 5d74e83249..543a7caa13 100644
--- a/spec/unit/config_spec.rb
+++ b/spec/unit/config_spec.rb
@@ -84,4 +84,10 @@ describe Chef::Config do
lambda { Chef::Config[:snob_hobbery] }.should raise_error(ArgumentError)
end
+ it "should return true or false with has_key?" do
+ Chef::Config.has_key?(:monkey).should eql(false)
+ Chef::Config[:monkey] = "gotcha"
+ Chef::Config.has_key?(:monkey).should eql(true)
+ end
+
end \ No newline at end of file
diff --git a/spec/unit/file_store_spec.rb b/spec/unit/file_store_spec.rb
new file mode 100644
index 0000000000..f2f1070f2d
--- /dev/null
+++ b/spec/unit/file_store_spec.rb
@@ -0,0 +1,95 @@
+#
+# Author:: Adam Jacob (<adam@hjksolutions.com>)
+# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
+# License:: GNU General Public License version 2 or later
+#
+# This program and entire repository is free software; you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
+
+class Fakestore
+ attr_accessor :name
+
+ def to_json(*a)
+ { :name => @name }.to_json(*a)
+ end
+
+ def self.json_create(o)
+ new_fakestore = new
+ new_fakestore.name = o[:name]
+ new_fakestore
+ end
+end
+
+describe Chef::FileStore do
+ before(:each) do
+ Chef::Config[:file_store_path] = "/tmp/chef-test"
+ @fakestore = Fakestore.new
+ @fakestore.name = "Landslide"
+ @fakestore_digest = "a56a428bddac69e505731708ba206da0bb75e8de883bb4d5ef6be9b327da556a"
+ end
+
+ it "should return a path to a file given a type and key" do
+ Dir.stub!(:mkdir).and_return(true)
+ File.stub!(:directory?).and_return(true)
+ path = Chef::FileStore.create_store_path("fakestore", @fakestore.name)
+ path.should eql("/tmp/chef-test/fakestore/a/56a/Landslide")
+ end
+
+ it "should create directories for the path if needed" do
+ File.stub!(:directory?).and_return(false)
+ Dir.should_receive(:mkdir).exactly(4).times.and_return(true)
+ Chef::FileStore.create_store_path("fakestore", @fakestore.name)
+ end
+
+ it "should store an object with a type and key" do
+ Chef::FileStore.should_receive(:create_store_path).with("fakestore", @fakestore.name).and_return("/monkey")
+ File.stub!(:directory?).and_return(true)
+ ioobj = mock("IO", :null_object => true)
+ ioobj.should_receive(:puts).with(@fakestore.to_json)
+ ioobj.should_receive(:close).once.and_return(true)
+ File.should_receive(:open).with("/monkey", "w").and_return(ioobj)
+ Chef::FileStore.store("fakestore", @fakestore.name, @fakestore)
+ end
+
+ it "should load an object from the store with type and key" do
+ Chef::FileStore.should_receive(:create_store_path).with("fakestore", @fakestore.name).and_return("/monkey")
+ File.stub!(:exists?).and_return(true)
+ IO.should_receive(:read).once.and_return(true)
+ JSON.should_receive(:parse).and_return(true)
+ Chef::FileStore.load("fakestore", @fakestore.name)
+ end
+
+ it "should through an exception if it cannot load a file from the store" do
+ Chef::FileStore.should_receive(:create_store_path).and_return("/tmp")
+ File.stub!(:exists?).and_return(false)
+ lambda { Chef::FileStore.load("fakestore", @fakestore.name) }.should raise_error(RuntimeError)
+ end
+
+ it "should delete a file from the store if it exists" do
+ Chef::FileStore.should_receive(:create_store_path).with("node", "nothing").and_return("/tmp/foolio")
+ File.stub!(:exists?).and_return(true)
+ File.should_receive(:unlink).with("/tmp/foolio").and_return(1)
+ Chef::FileStore.delete("node", "nothing")
+ end
+
+ it "should list all the keys of a particular type" do
+ Dir.should_receive(:[]).with("/tmp/chef-test/node/**/*").and_return(["pool"])
+ File.should_receive(:file?).with("pool").and_return(true)
+ Chef::FileStore.list("node").should eql(["pool"])
+ end
+
+end \ No newline at end of file
diff --git a/spec/unit/node_spec.rb b/spec/unit/node_spec.rb
index 0ea4d864d4..753d056404 100644
--- a/spec/unit/node_spec.rb
+++ b/spec/unit/node_spec.rb
@@ -153,14 +153,23 @@ describe Chef::Node do
it "should serialize itself as json" do
node = Chef::Node.find("test.example.com")
- json = node.to_json
- result = JSON.load(json)
- result["name"].should == "test.example.com"
- result["type"].should == "Chef::Node"
- result["attributes"]["something"].should == "else"
- result["attributes"]["sunshine"].should == "in"
- result["recipes"].detect { |r| r == "operations-master" }.should == "operations-master"
- result["recipes"].detect { |r| r == "operations-monitoring" }.should == "operations-monitoring"
+ json = node.to_json()
+ json.should =~ /json_class/
+ json.should =~ /name/
+ json.should =~ /attributes/
+ json.should =~ /recipes/
+ end
+
+ it "should deserialize itself from json" do
+ original_node = Chef::Node.find("test.example.com")
+ json = original_node.to_json
+ serialized_node = JSON.parse(json)
+ serialized_node.should be_a_kind_of(Chef::Node)
+ serialized_node.name.should eql(original_node.name)
+ original_node.each_attribute do |k,v|
+ serialized_node[k].should eql(v)
+ end
+ serialized_node.recipes.should eql(original_node.recipes)
end
it "should return a list of node names based on which files are in the node_path" do
diff --git a/spec/unit/queue_spec.rb b/spec/unit/queue_spec.rb
new file mode 100644
index 0000000000..9a199c9852
--- /dev/null
+++ b/spec/unit/queue_spec.rb
@@ -0,0 +1,107 @@
+#
+# Author:: Adam Jacob (<adam@hjksolutions.com>)
+# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
+# License:: GNU General Public License version 2 or later
+#
+# This program and entire repository is free software; you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
+
+describe Chef::Queue do
+
+ it "should connect to a stomp server on localhost and 61613" do
+ Stomp::Connection.should_receive(:open).with("", "", "localhost", 61613, false).once
+ Chef::Queue.connect
+ end
+
+ it "should allow config options to override defaults on connect" do
+ Chef::Config[:queue_user] = "monkey"
+ Chef::Config[:queue_password] = "password"
+ Chef::Config[:queue_host] = "10.10.10.10"
+ Chef::Config[:queue_port] = 61614
+ Stomp::Connection.should_receive(:open).with("monkey", "password", "10.10.10.10", 61614, false).once
+ Chef::Queue.connect
+ end
+
+ it "should make a url based on type and name" do
+ Chef::Queue.make_url("topic", "goal").should eql("/topic/chef/goal")
+ Chef::Queue.make_url("queue", "pool").should eql("/queue/chef/pool")
+ end
+
+ it "should allow you to subscribe to a queue" do
+ queue = mock("Queue", :null_object => true)
+ queue.should_receive(:subscribe).with(Chef::Queue.make_url(:topic, :node)).once
+ Stomp::Connection.stub!(:open).and_return(queue)
+ Chef::Queue.connect
+ Chef::Queue.subscribe(:topic, :node)
+ end
+
+ it "should allow you to send a message" do
+ message = mock("Message", :null_object => true)
+ message.should_receive(:to_json).once.and_return("some json")
+ connection = mock("Connection", :null_object => true)
+ connection.should_receive(:send).with(Chef::Queue.make_url(:queue, :node), "some json").once.and_return(true)
+ Stomp::Connection.stub!(:open).and_return(connection)
+ Chef::Queue.connect
+ Chef::Queue.send_msg(:queue, :node, message)
+ end
+
+ it "should receive a message with receive_msg" do
+ raw_msg = mock("Stomp Message", :null_object => true)
+ raw_msg.should_receive(:body).twice.and_return("the body")
+ connection = mock("Connection", :null_object => true)
+ connection.should_receive(:receive).once.and_return(raw_msg)
+ JSON.should_receive(:parse).with("the body").and_return("the body")
+ Stomp::Connection.stub!(:open).and_return(connection)
+ Chef::Queue.connect
+ Chef::Queue.receive_msg.should eql([ "the body", raw_msg ])
+ end
+
+ it "should poll for a message with poll_msg, returning a message if there is one" do
+ raw_msg = mock("Stomp Message", :null_object => true)
+ raw_msg.should_receive(:body).once.and_return("the body")
+ connection = mock("Connection", :null_object => true)
+ connection.should_receive(:poll).once.and_return(raw_msg)
+ JSON.should_receive(:parse).with("the body").and_return("the body")
+ Stomp::Connection.stub!(:open).and_return(connection)
+ Chef::Queue.connect
+ Chef::Queue.poll_msg.should eql("the body")
+ end
+
+ it "should poll for a message with poll_msg, returning nil if there is not a message" do
+ connection = mock("Connection", :null_object => true)
+ connection.should_receive(:poll).once.and_return(nil)
+ JSON.should_not_receive(:parse).with(nil)
+ Stomp::Connection.stub!(:open).and_return(connection)
+ Chef::Queue.connect
+ Chef::Queue.poll_msg.should eql(nil)
+ end
+
+ it "should raise an exception if you disconnect without a connection" do
+ Stomp::Connection.stub!(:open).and_return(nil)
+ Chef::Queue.connect
+ lambda { Chef::Queue.disconnect }.should raise_error(ArgumentError)
+ end
+
+ it "should disconnect an active connection" do
+ connection = mock("Connection", :null_object => true)
+ connection.should_receive(:disconnect).once.and_return(true)
+ Stomp::Connection.stub!(:open).and_return(connection)
+ Chef::Queue.connect
+ Chef::Queue.disconnect
+ end
+
+end \ No newline at end of file
diff --git a/spec/unit/resource_collection_spec.rb b/spec/unit/resource_collection_spec.rb
index 10f251aaac..ac83e019c0 100644
--- a/spec/unit/resource_collection_spec.rb
+++ b/spec/unit/resource_collection_spec.rb
@@ -171,6 +171,20 @@ describe Chef::ResourceCollection do
it "should raise an exception if you pass something other than a string or hash to resource" do
lambda { @rc.resources([Array.new]) }.should raise_error(ArgumentError)
end
+
+ it "should serialize to json" do
+ json = @rc.to_json
+ json.should =~ /json_class/
+ json.should =~ /instance_vars/
+ end
+
+ it "should deserialize itself from json" do
+ @rc << @resource
+ json = @rc.to_json
+ s_rc = JSON.parse(json)
+ s_rc.should be_a_kind_of(Chef::ResourceCollection)
+ s_rc[0].name.should eql(@resource.name)
+ end
def check_by_names(results, *names)
names.each do |res_name|
diff --git a/spec/unit/resource_spec.rb b/spec/unit/resource_spec.rb
index be9a7cc3aa..6be2932967 100644
--- a/spec/unit/resource_spec.rb
+++ b/spec/unit/resource_spec.rb
@@ -130,6 +130,18 @@ describe Chef::Resource do
@resource.noop.should eql(true)
end
+ it "should serialize to json" do
+ json = @resource.to_json
+ json.should =~ /json_class/
+ json.should =~ /instance_vars/
+ end
+
+ it "should deserialize itself from json" do
+ json = @resource.to_json
+ serialized_node = JSON.parse(json)
+ serialized_node.should be_a_kind_of(Chef::Resource)
+ serialized_node.name.should eql(@resource.name)
+ end
# it "should serialize to yaml" do
# yaml_output = <<-DESC
diff --git a/spec/unit/search_index_spec.rb b/spec/unit/search_index_spec.rb
new file mode 100644
index 0000000000..2957f9c774
--- /dev/null
+++ b/spec/unit/search_index_spec.rb
@@ -0,0 +1,57 @@
+#
+# Author:: Adam Jacob (<adam@hjksolutions.com>)
+# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
+# License:: GNU General Public License version 2 or later
+#
+# This program and entire repository is free software; you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
+
+describe Chef::SearchIndex do
+ before(:each) do
+ @fake_indexer = stub("Indexer", :null_object => true)
+ Ferret::Index::Index.stub!(:new).and_return(@fake_indexer)
+ @sindex = Chef::SearchIndex.new()
+ @node = Chef::Node.new
+ @node.name "adam.foo.com"
+ @node.fqdn "adam.foo.com"
+ @node.mars "volta"
+ @node.recipes "one", "two"
+ end
+
+ it "should index a node object with add" do
+ @sindex.should_receive(:_prepare_node).with(@node).and_return("my value")
+ @fake_indexer.should_receive(:add_document).with("my value")
+ @sindex.add(@node)
+ end
+
+ it "should remove a node from the index with delete" do
+ @sindex.should_receive(:_prepare_node).with(@node).and_return({ :id => "node-my value" })
+ @fake_indexer.should_receive(:delete).with(:id => "node-my value")
+ @sindex.delete(@node)
+ end
+
+ it "should prepare a node by creating a proper hash" do
+ node_hash = @sindex.send(:_prepare_node, @node)
+ node_hash[:id].should eql("node-adam.foo.com")
+ node_hash[:type].should eql("node")
+ node_hash[:name].should eql("adam.foo.com")
+ node_hash[:fqdn].should eql("adam.foo.com")
+ node_hash[:mars].should eql("volta")
+ node_hash[:recipe].should eql(["one", "two"])
+ end
+
+end \ No newline at end of file