Remove some of the ActiveSupport core extensions related to 1.8.
This commit is contained in:
parent
8e749cd4bd
commit
ee69ef62a8
@ -1,7 +1,6 @@
|
||||
# encoding: utf-8
|
||||
|
||||
require 'active_support/core_ext/big_decimal/conversions'
|
||||
require 'active_support/core_ext/float/rounding'
|
||||
require 'active_support/core_ext/object/blank'
|
||||
require 'active_support/core_ext/string/output_safety'
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
require "pathname"
|
||||
require "active_support/core_ext/class"
|
||||
require "active_support/core_ext/io"
|
||||
require "action_view/template"
|
||||
|
||||
module ActionView
|
||||
|
@ -1,33 +0,0 @@
|
||||
# Date memoizes some instance methods using metaprogramming to wrap
|
||||
# the methods with one that caches the result in an instance variable.
|
||||
#
|
||||
# If a Date is frozen but the memoized method hasn't been called, the
|
||||
# first call will result in a frozen object error since the memo
|
||||
# instance variable is uninitialized.
|
||||
#
|
||||
# Work around by eagerly memoizing before the first freeze.
|
||||
#
|
||||
# Ruby 1.9 uses a preinitialized instance variable so it's unaffected.
|
||||
# This hack is as close as we can get to feature detection:
|
||||
if RUBY_VERSION < '1.9'
|
||||
require 'date'
|
||||
begin
|
||||
::Date.today.freeze.jd
|
||||
rescue => frozen_object_error
|
||||
if frozen_object_error.message =~ /frozen/
|
||||
class Date #:nodoc:
|
||||
def freeze
|
||||
unless frozen?
|
||||
self.class.private_instance_methods(false).each do |m|
|
||||
if m.to_s =~ /\A__\d+__\Z/
|
||||
instance_variable_set(:"@#{m}", [send(m)])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
super
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
@ -1 +0,0 @@
|
||||
require 'active_support/core_ext/float/rounding'
|
@ -1,19 +0,0 @@
|
||||
class Float
|
||||
alias precisionless_round round
|
||||
private :precisionless_round
|
||||
|
||||
# Rounds the float with the specified precision.
|
||||
#
|
||||
# x = 1.337
|
||||
# x.round # => 1
|
||||
# x.round(1) # => 1.3
|
||||
# x.round(2) # => 1.34
|
||||
def round(precision = nil)
|
||||
if precision
|
||||
magnitude = 10.0 ** precision
|
||||
(self * magnitude).round / magnitude
|
||||
else
|
||||
precisionless_round
|
||||
end
|
||||
end
|
||||
end if RUBY_VERSION < '1.9'
|
@ -1,15 +0,0 @@
|
||||
if RUBY_VERSION < '1.9.2'
|
||||
|
||||
# :stopdoc:
|
||||
class IO
|
||||
def self.binread(name, length = nil, offset = nil)
|
||||
return File.read name unless length || offset
|
||||
File.open(name, 'rb') { |f|
|
||||
f.seek offset if offset
|
||||
f.read length
|
||||
}
|
||||
end
|
||||
end
|
||||
# :startdoc:
|
||||
|
||||
end
|
@ -21,7 +21,6 @@ module ActiveSupport
|
||||
require 'active_support/core_ext/time/zones'
|
||||
|
||||
require 'active_support/core_ext/date/acts_like'
|
||||
require 'active_support/core_ext/date/freeze'
|
||||
require 'active_support/core_ext/date/calculations'
|
||||
require 'active_support/core_ext/date/conversions'
|
||||
require 'active_support/core_ext/date/zones'
|
||||
|
@ -1,26 +0,0 @@
|
||||
require 'abstract_unit'
|
||||
require 'active_support/core_ext/float/rounding'
|
||||
|
||||
class FloatExtRoundingTests < Test::Unit::TestCase
|
||||
def test_round_for_positive_number
|
||||
assert_equal 1, 1.4.round
|
||||
assert_equal 2, 1.6.round
|
||||
assert_equal 2, 1.6.round(0)
|
||||
assert_equal 1.4, 1.4.round(1)
|
||||
assert_equal 1.4, 1.4.round(3)
|
||||
assert_equal 1.5, 1.45.round(1)
|
||||
assert_equal 1.45, 1.445.round(2)
|
||||
end
|
||||
|
||||
def test_round_for_negative_number
|
||||
assert_equal( -1, -1.4.round )
|
||||
assert_equal( -2, -1.6.round )
|
||||
assert_equal( -1.4, -1.4.round(1) )
|
||||
assert_equal( -1.5, -1.45.round(1) )
|
||||
end
|
||||
|
||||
def test_round_with_negative_precision
|
||||
assert_equal 123460.0, 123456.0.round(-1)
|
||||
assert_equal 123500.0, 123456.0.round(-2)
|
||||
end
|
||||
end
|
@ -1,23 +0,0 @@
|
||||
require 'abstract_unit'
|
||||
|
||||
require 'active_support/core_ext/io'
|
||||
|
||||
class IOTest < Test::Unit::TestCase
|
||||
def test_binread_one_arg
|
||||
assert_equal File.read(__FILE__), IO.binread(__FILE__)
|
||||
end
|
||||
|
||||
def test_binread_two_args
|
||||
assert_equal File.read(__FILE__).bytes.first(10).pack('C*'),
|
||||
IO.binread(__FILE__, 10)
|
||||
end
|
||||
|
||||
def test_binread_three_args
|
||||
actual = IO.binread(__FILE__, 5, 10)
|
||||
expected = File.open(__FILE__, 'rb') { |f|
|
||||
f.seek 10
|
||||
f.read 5
|
||||
}
|
||||
assert_equal expected, actual
|
||||
end
|
||||
end
|
@ -1974,18 +1974,6 @@ The method +ordinalize+ returns the ordinal string corresponding to the receiver
|
||||
|
||||
NOTE: Defined in +active_support/core_ext/integer/inflections.rb+.
|
||||
|
||||
h3. Extensions to +Float+
|
||||
|
||||
h4. +round+
|
||||
|
||||
The built-in method +Float#round+ rounds a float to the nearest integer. In Ruby 1.9 this method takes an optional argument to let you specify a precision. Active Support adds that functionality to +round+ in previous versions of Ruby:
|
||||
|
||||
<ruby>
|
||||
Math::E.round(4) # => 2.7183
|
||||
</ruby>
|
||||
|
||||
NOTE: Defined in +active_support/core_ext/float/rounding.rb+.
|
||||
|
||||
h3. Extensions to +BigDecimal+
|
||||
|
||||
...
|
||||
|
Loading…
Reference in New Issue
Block a user