Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

r1300@iwill: jeremy | 2005-06-13 18:31:29 -0700

 Ticket 1436 - Faster indifferent hash
 r1301@iwill:  jeremy | 2005-06-13 18:45:28 -0700
 Apply, tweak, test.
 r1305@iwill:  jeremy | 2005-06-13 18:50:24 -0700
 Updated changelog.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1413 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 2e6f6ced428f3b3b574e7f6a7e1511b2cf470039 1 parent 37a370d
@jeremy jeremy authored
View
4 activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Increased the speed of indifferent hash access by using Hash#default. #1436 [Nicholas Seckar]
+
* Added that " " is now also blank? (using strip if available)
* Fixed Dependencies so all modules are able to load missing constants #1173 [Nicholas Seckar]
@@ -137,4 +139,4 @@
* Added that Inflector now accepts Symbols and Classes by calling .to_s on the word supplied
-* Added time unit extensions to Fixnum that'll return the period in seconds, like 2.days + 4.hours.
+* Added time unit extensions to Fixnum that'll return the period in seconds, like 2.days + 4.hours.
View
14 activesupport/lib/active_support/core_ext/hash/indifferent_access.rb
@@ -8,16 +8,10 @@ def initialize(constructor = {})
super(constructor)
end
end
-
- alias_method :regular_reader, :[] unless method_defined?(:regular_reader)
-
- def [](key)
- case key
- when Symbol: regular_reader(key.to_s) || regular_reader(key)
- when String: regular_reader(key) || regular_reader(key.to_sym)
- else regular_reader(key)
- end
- end
+
+ def default(key)
+ self[key.to_s] if key.is_a?(Symbol)
+ end
alias_method :regular_writer, :[]= unless method_defined?(:regular_writer)
Please sign in to comment.
Something went wrong with that request. Please try again.