aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-12-20 17:38:32 +0900
committerGitHub <noreply@github.com>2018-12-20 17:38:32 +0900
commit3e50a1bcd4b5f3ce26ec94ba061d039c0a6f8062 (patch)
treecfd772beae014e0d63ac638c0450a407753acb44
parentbf01cc6744a3593c6256ab6765d7d7a500696bd5 (diff)
parentf3c866a743bc6edc9b67b241e65e6acfccfd3992 (diff)
downloadrails-3e50a1bcd4b5f3ce26ec94ba061d039c0a6f8062.tar.gz
rails-3e50a1bcd4b5f3ce26ec94ba061d039c0a6f8062.tar.bz2
rails-3e50a1bcd4b5f3ce26ec94ba061d039c0a6f8062.zip
Merge pull request #30973 from k0kubun/prefer-block-parameter
Unify _read_attribute definition to use &block
-rw-r--r--activemodel/lib/active_model/attribute_set.rb12
-rw-r--r--activerecord/lib/active_record/attribute_methods/read.rb12
2 files changed, 4 insertions, 20 deletions
diff --git a/activemodel/lib/active_model/attribute_set.rb b/activemodel/lib/active_model/attribute_set.rb
index a890ee3932..4679b33852 100644
--- a/activemodel/lib/active_model/attribute_set.rb
+++ b/activemodel/lib/active_model/attribute_set.rb
@@ -37,16 +37,8 @@ module ActiveModel
attributes.each_key.select { |name| self[name].initialized? }
end
- if defined?(JRUBY_VERSION)
- # This form is significantly faster on JRuby, and this is one of our biggest hotspots.
- # https://github.com/jruby/jruby/pull/2562
- def fetch_value(name, &block)
- self[name].value(&block)
- end
- else
- def fetch_value(name)
- self[name].value { |n| yield n if block_given? }
- end
+ def fetch_value(name, &block)
+ self[name].value(&block)
end
def write_from_database(name, value)
diff --git a/activerecord/lib/active_record/attribute_methods/read.rb b/activerecord/lib/active_record/attribute_methods/read.rb
index 6e1275e990..ffac5313ad 100644
--- a/activerecord/lib/active_record/attribute_methods/read.rb
+++ b/activerecord/lib/active_record/attribute_methods/read.rb
@@ -42,16 +42,8 @@ module ActiveRecord
# This method exists to avoid the expensive primary_key check internally, without
# breaking compatibility with the read_attribute API
- if defined?(JRUBY_VERSION)
- # This form is significantly faster on JRuby, and this is one of our biggest hotspots.
- # https://github.com/jruby/jruby/pull/2562
- def _read_attribute(attr_name, &block) # :nodoc:
- @attributes.fetch_value(attr_name.to_s, &block)
- end
- else
- def _read_attribute(attr_name) # :nodoc:
- @attributes.fetch_value(attr_name.to_s) { |n| yield n if block_given? }
- end
+ def _read_attribute(attr_name, &block) # :nodoc
+ @attributes.fetch_value(attr_name.to_s, &block)
end
alias :attribute :_read_attribute