summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-05-16 22:43:38 +0200
committerMatija Čupić <matteeyah@gmail.com>2018-05-16 22:43:38 +0200
commiteeb955a66d2410d7117737ecd1b33b0cfe67327b (patch)
tree2d4e20014c2202348ba17639408c96e3ccc8c202
parent4e1bb1d1014237df79db6b3cc2beb24228a4b228 (diff)
downloadgitlab-ce-eeb955a66d2410d7117737ecd1b33b0cfe67327b.tar.gz
Revert "Move argument check to cached getter definition class method"
This reverts commit 4e1bb1d1014237df79db6b3cc2beb24228a4b228.
-rw-r--r--app/models/concerns/redis_cacheable.rb4
-rw-r--r--spec/models/concerns/redis_cacheable_spec.rb4
2 files changed, 4 insertions, 4 deletions
diff --git a/app/models/concerns/redis_cacheable.rb b/app/models/concerns/redis_cacheable.rb
index bf046c0e333..a8d96f63d7a 100644
--- a/app/models/concerns/redis_cacheable.rb
+++ b/app/models/concerns/redis_cacheable.rb
@@ -7,9 +7,9 @@ module RedisCacheable
class_methods do
def cached_attr_reader(*attributes)
attributes.each do |attribute|
- raise ArgumentError, "Not a database attribute" unless self.attribute_names.include?(attribute.to_s)
-
define_method(attribute) do
+ raise ArgumentError, "Not a database attribute" unless self.has_attribute?(attribute)
+
cached_attribute(attribute) || read_attribute(attribute)
end
end
diff --git a/spec/models/concerns/redis_cacheable_spec.rb b/spec/models/concerns/redis_cacheable_spec.rb
index 089ae080b0c..2da0f33e27b 100644
--- a/spec/models/concerns/redis_cacheable_spec.rb
+++ b/spec/models/concerns/redis_cacheable_spec.rb
@@ -11,8 +11,8 @@ describe RedisCacheable do
cached_value
end
- def self.attribute_names
- %w[name time]
+ def has_attribute?(attribute)
+ attributes.has_key?(attribute)
end
end
end