diff options
7 files changed, 23 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml index ae38617b99..869507a9fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,7 @@ rvm:  matrix:    allow_failures:      - rvm: ruby-head +    - env: "GEM=ac"    fast_finish: true  notifications:    email: false diff --git a/actionpack/lib/action_controller/metal.rb b/actionpack/lib/action_controller/metal.rb index f6a93a8940..1641d01c30 100644 --- a/actionpack/lib/action_controller/metal.rb +++ b/actionpack/lib/action_controller/metal.rb @@ -174,6 +174,7 @@ module ActionController      def response_body=(body)        body = [body] unless body.nil? || body.respond_to?(:each)        response.reset_body! +      return unless body        body.each { |part|          next if part.empty?          response.write part diff --git a/actionpack/lib/action_dispatch/testing/test_process.rb b/actionpack/lib/action_dispatch/testing/test_process.rb index eca0439909..1ecd7d14a7 100644 --- a/actionpack/lib/action_dispatch/testing/test_process.rb +++ b/actionpack/lib/action_dispatch/testing/test_process.rb @@ -1,6 +1,5 @@  require 'action_dispatch/middleware/cookies'  require 'action_dispatch/middleware/flash' -require 'active_support/core_ext/hash/indifferent_access'  module ActionDispatch    module TestProcess diff --git a/actionpack/test/controller/new_base/bare_metal_test.rb b/actionpack/test/controller/new_base/bare_metal_test.rb index c226fa57ee..ee3c498b1c 100644 --- a/actionpack/test/controller/new_base/bare_metal_test.rb +++ b/actionpack/test/controller/new_base/bare_metal_test.rb @@ -40,6 +40,22 @@ module BareMetalTest      end    end +  class BareEmptyController < ActionController::Metal +    def index +      self.response_body = nil +    end +  end + +  class BareEmptyTest < ActiveSupport::TestCase +    test "response body is nil" do +      controller = BareEmptyController.new +      controller.set_request!(ActionDispatch::Request.empty) +      controller.set_response!(BareController.make_response!(controller.request)) +      controller.index +      assert_equal nil, controller.response_body +    end +  end +    class HeadController < ActionController::Metal      include ActionController::Head diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/oid/money.rb b/activerecord/lib/active_record/connection_adapters/postgresql/oid/money.rb index 2163674019..78039b719c 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/oid/money.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/oid/money.rb @@ -3,12 +3,14 @@ module ActiveRecord      module PostgreSQL        module OID # :nodoc:          class Money < Type::Decimal # :nodoc: -          class_attribute :precision -            def type              :money            end +          def precision +            19 +          end +            def scale              2            end diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 2de6fbfaf0..725173d995 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -213,7 +213,7 @@ module ActiveRecord          @statements = StatementPool.new @connection,                                          self.class.type_cast_config_to_integer(config.fetch(:statement_limit) { 1000 }) -        if postgresql_version < 80200 +        if postgresql_version < 80300            raise "Your version of PostgreSQL (#{postgresql_version}) is too old, please upgrade!"          end @@ -645,12 +645,6 @@ module ActiveRecord          # connected server's characteristics.          def connect            @connection = PGconn.connect(@connection_parameters) - -          # Money type has a fixed precision of 10 in PostgreSQL 8.2 and below, and as of -          # PostgreSQL 8.3 it has a fixed precision of 19. PostgreSQLColumn.extract_precision -          # should know about this but can't detect it there, so deal with it here. -          OID::Money.precision = (postgresql_version >= 80300) ? 19 : 10 -            configure_connection          rescue ::PG::Error => error            if error.message.include?("does not exist") diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index a4758857f2..775750d86b 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -318,7 +318,6 @@ module Rails            remove_file 'config/cable.yml'            remove_file 'app/assets/javascripts/cable.coffee'            remove_dir 'app/channels' -          gsub_file 'app/views/layouts/application.html.erb', /action_cable_meta_tag/, '' unless options[:api]          end        end  | 
