Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

ActiveSupport::Base64.encode64s since Base64 is deprecated

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8817 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 3335bd12c8b3fbfe33ceda4b4f2f33ef023571da 1 parent fbd7ec3
@jeremy jeremy authored
View
5 activesupport/lib/active_support/base64.rb
@@ -1,3 +1,8 @@
+begin
+ require 'base64'
+rescue LoadError
+end
+
module ActiveSupport
if defined? ::Base64
Base64 = ::Base64
View
7 activesupport/lib/active_support/core_ext/base64.rb
@@ -1,7 +1,4 @@
-require 'base64'
-
+require 'active_support/base64'
require 'active_support/core_ext/base64/encoding'
-module Base64#:nodoc:
- extend ActiveSupport::CoreExtensions::Base64::Encoding
-end
+ActiveSupport::Base64.extend ActiveSupport::CoreExtensions::Base64::Encoding
View
4 activesupport/lib/active_support/core_ext/base64/encoding.rb
@@ -5,9 +5,9 @@ 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/, '')
+ encode64(value).gsub(/\n/, '')
end
end
end
end
-end
+end
View
4 activesupport/lib/active_support/core_ext/hash/conversions.rb
@@ -77,9 +77,9 @@ module Conversions
"boolean" => Proc.new { |boolean| %w(1 true).include?(boolean.strip) },
"string" => Proc.new { |string| string.to_s },
"yaml" => Proc.new { |yaml| YAML::load(yaml) rescue yaml },
- "base64Binary" => Proc.new { |bin| Base64.decode64(bin) },
+ "base64Binary" => Proc.new { |bin| ActiveSupport::Base64.decode64(bin) },
"file" => Proc.new do |file, entity|
- f = StringIO.new(Base64.decode64(file))
+ f = StringIO.new(ActiveSupport::Base64.decode64(file))
f.extend(FileLike)
f.original_filename = entity['name']
f.content_type = entity['content_type']
View
4 activesupport/test/core_ext/base64_ext_test.rb
@@ -2,7 +2,7 @@
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")
+ assert_match(/\n/, ActiveSupport::Base64.encode64("oneverylongstringthatwouldnormallybesplitupbynewlinesbytheregularbase64"))
+ assert_no_match(/\n/, ActiveSupport::Base64.encode64s("oneverylongstringthatwouldnormallybesplitupbynewlinesbytheregularbase64"))
end
end
Please sign in to comment.
Something went wrong with that request. Please try again.