diff --git a/Gemfile b/Gemfile index 17deeed4..8cd4bd8f 100644 --- a/Gemfile +++ b/Gemfile @@ -3,22 +3,6 @@ source 'http://rubygems.org' gem 'rails', '3.0.0' #gem 'sqlite3-ruby', '~> 1.3.1', :require => 'sqlite3' -# async wrappers -gem 'eventmachine', :git => 'git://github.com/eventmachine/eventmachine.git' -gem 'rack-fiber_pool', :require => 'rack/fiber_pool' -gem 'em-synchrony', :git => 'git://github.com/igrigorik/em-synchrony.git', :require => [ - 'em-synchrony', - 'em-synchrony/em-http' - ] - -# async activerecord requires -gem 'mysqlplus', :git => 'git://github.com/oldmoe/mysqlplus.git', :require => 'mysqlplus' -gem 'em-mysqlplus', :git => 'git://github.com/igrigorik/em-mysqlplus.git', :require => 'em-activerecord' - -# async http requires -gem 'em-http-request',:git => 'git://github.com/igrigorik/em-http-request.git', :require => 'em-http' -gem 'addressable', :require => 'addressable/uri' - gem 'compass', '~> 0.10.1' gem 'haml', '~> 3.0.18' gem 'rdiscount', '~> 1.6.5' @@ -27,6 +11,24 @@ gem 'will_paginate', '~> 3.0.pre2' gem 'jammit', '~> 0.5.3' +group :development_async, :production do + # async wrappers + gem 'eventmachine', :git => 'git://github.com/eventmachine/eventmachine.git' + gem 'rack-fiber_pool', :require => 'rack/fiber_pool' + gem 'em-synchrony', :git => 'git://github.com/igrigorik/em-synchrony.git', :require => [ + 'em-synchrony', + 'em-synchrony/em-http' + ] + + # async activerecord requires + gem 'mysqlplus', :git => 'git://github.com/oldmoe/mysqlplus.git', :require => 'mysqlplus' + gem 'em-mysqlplus', :git => 'git://github.com/igrigorik/em-mysqlplus.git', :require => 'em-activerecord' + + # async http requires + gem 'em-http-request',:git => 'git://github.com/igrigorik/em-http-request.git', :require => 'em-http' + gem 'addressable', :require => 'addressable/uri' +end + group :test do gem 'factory_girl_rails', '~> 1.0' gem 'rspec-rails', '~> 2.0.0.beta.22' diff --git a/config.ru b/config.ru index 038f2e06..b91ce3e5 100644 --- a/config.ru +++ b/config.ru @@ -2,5 +2,5 @@ require ::File.expand_path('../config/environment', __FILE__) -use Rack::FiberPool +use Rack::FiberPool if defined?(USE_FIBER_POOL) && USE_FIBER_POOL run OpenneoImpressItems::Application diff --git a/config/environments/development.rb b/config/environments/development.rb index ee23300e..3a320a36 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -18,10 +18,6 @@ OpenneoImpressItems::Application.configure do config.action_mailer.raise_delivery_errors = false config.active_support.deprecation = :log - - config.serve_static_assets = true - - config.threadsafe! end RemoteImpressHost = 'beta.impress.openneo.net' diff --git a/config/environments/development_async.rb b/config/environments/development_async.rb new file mode 100644 index 00000000..6f7f8c49 --- /dev/null +++ b/config/environments/development_async.rb @@ -0,0 +1,27 @@ +OpenneoImpressItems::Application.configure do + # Settings specified here will take precedence over those in config/environment.rb + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the webserver when you make code changes. + config.cache_classes = false + + # Log error messages when you accidentally call methods on nil. + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_view.debug_rjs = true + config.action_controller.perform_caching = false + + # Don't care if the mailer can't send + config.action_mailer.raise_delivery_errors = false + + config.active_support.deprecation = :log + + config.threadsafe! +end + +RemoteImpressHost = 'beta.impress.openneo.net' + +USE_FIBER_POOL = true diff --git a/config/environments/production.rb b/config/environments/production.rb index 7e3655b8..4797a853 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -29,7 +29,7 @@ OpenneoImpressItems::Application.configure do # Disable Rails's static asset server # In production, Apache or nginx will already do this - config.serve_static_assets = true + # config.serve_static_assets = true # Enable serving of images, stylesheets, and javascripts from an asset server # config.action_controller.asset_host = "http://assets.example.com" @@ -44,3 +44,5 @@ OpenneoImpressItems::Application.configure do end RemoteImpressHost = 'impress.openneo.net' + +USE_FIBER_POOL = true diff --git a/lib/rocketamf/remote_gateway/request.rb b/lib/rocketamf/remote_gateway/request.rb index 97073038..5b468029 100644 --- a/lib/rocketamf/remote_gateway/request.rb +++ b/lib/rocketamf/remote_gateway/request.rb @@ -12,7 +12,7 @@ module RocketAMF def fetch uri = @service.gateway.uri data = envelope.serialize - if EventMachine.reactor_running? + if defined?(EventMachine) && EventMachine.reactor_running? req = EM::HttpRequest.new(uri).post :body => data response_body = req.response else