mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Added Base64.encode64s to encode values in base64 without the newlines. This makes the values immediately usable as URL parameters or memcache keys without further processing [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8816 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Added Base64.encode64s to encode values in base64 without the newlines. This makes the values immediately usable as URL parameters or memcache keys without further processing [DHH]
|
||||
|
||||
* Remove :nodoc: entries around the ActiveSupport test/unit assertions. #10946 [dancroak, jamesh]
|
||||
|
||||
* Add Time.zone_default accessor for setting the default time zone. Rails::Configuration.time_zone sets this. #10982 [Geoff Buesing]
|
||||
@@ -40,6 +42,7 @@
|
||||
|
||||
* Introduce ActiveSupport::TimeWithZone, for wrapping Time instances with a TimeZone. Introduce instance methods to Time for creating TimeWithZone instances, and class methods for managing a global time zone. [Geoff Buesing]
|
||||
|
||||
>>>>>>> .r8815
|
||||
* Replace non-dst-aware TimeZone class with dst-aware class from tzinfo_timezone plugin. TimeZone#adjust and #unadjust are no longer available; tzinfo gem must now be present in order to perform time zone calculations, via #local_to_utc and #utc_to_local methods. [Geoff Buesing]
|
||||
|
||||
* Extract ActiveSupport::Callbacks from Active Record, test case setup and teardown, and ActionController::Dispatcher. #10727 [Josh Peek]
|
||||
|
||||
7
activesupport/lib/active_support/core_ext/base64.rb
Normal file
7
activesupport/lib/active_support/core_ext/base64.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
require 'base64'
|
||||
|
||||
require 'active_support/core_ext/base64/encoding'
|
||||
|
||||
module Base64#:nodoc:
|
||||
extend ActiveSupport::CoreExtensions::Base64::Encoding
|
||||
end
|
||||
13
activesupport/lib/active_support/core_ext/base64/encoding.rb
Normal file
13
activesupport/lib/active_support/core_ext/base64/encoding.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module Base64 #:nodoc:
|
||||
module Encoding
|
||||
# Encodes the value as base64 without the newline breaks. This makes the base64 encoding readily usable as URL parameters
|
||||
# or memcache keys without further processing.
|
||||
def encode64s(value)
|
||||
::Base64.encode64(value).gsub(/\n/, '')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
8
activesupport/test/core_ext/base64_ext_test.rb
Normal file
8
activesupport/test/core_ext/base64_ext_test.rb
Normal file
@@ -0,0 +1,8 @@
|
||||
require 'abstract_unit'
|
||||
|
||||
class Base64Test < Test::Unit::TestCase
|
||||
def test_no_newline_in_encoded_value
|
||||
assert_match /\n/, Base64.encode64("oneverylongstringthatwouldnormallybesplitupbynewlinesbytheregularbase64")
|
||||
assert_no_match /\n/, Base64.encode64s("oneverylongstringthatwouldnormallybesplitupbynewlinesbytheregularbase64")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user