aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/reflection.rb
diff options
context:
space:
mode:
authorKevin Deisz <kevin.deisz@gmail.com>2018-05-31 09:33:14 -0400
committerKevin Deisz <kevin.deisz@gmail.com>2018-05-31 09:33:46 -0400
commitce337d1757fdd01e5f496f741e33275a7440b9ac (patch)
tree70a4f7f02c11209c52436b0aee2f2fcd6d5b617b /activerecord/lib/active_record/reflection.rb
parentbc3b6ea461ee82a4c34877168fd498b81f12763c (diff)
downloadrails-ce337d1757fdd01e5f496f741e33275a7440b9ac.tar.gz
rails-ce337d1757fdd01e5f496f741e33275a7440b9ac.tar.bz2
rails-ce337d1757fdd01e5f496f741e33275a7440b9ac.zip
Move ActiveStorage reflection logic entirely into ActiveStorage
Diffstat (limited to 'activerecord/lib/active_record/reflection.rb')
-rw-r--r--activerecord/lib/active_record/reflection.rb46
1 files changed, 2 insertions, 44 deletions
diff --git a/activerecord/lib/active_record/reflection.rb b/activerecord/lib/active_record/reflection.rb
index 231c785a30..c47e0dc03c 100644
--- a/activerecord/lib/active_record/reflection.rb
+++ b/activerecord/lib/active_record/reflection.rb
@@ -11,7 +11,6 @@ module ActiveRecord
included do
class_attribute :_reflections, instance_writer: false, default: {}
class_attribute :aggregate_reflections, instance_writer: false, default: {}
- class_attribute :attachment_reflections, instance_writer: false, default: {}
end
def self.create(macro, name, scope, options, ar)
@@ -29,10 +28,6 @@ module ActiveRecord
HasOneReflection
when :belongs_to
BelongsToReflection
- when :has_one_attached
- HasOneAttachedReflection
- when :has_many_attached
- HasManyAttachedReflection
else
raise "Unsupported Macro: #{macro}"
end
@@ -48,18 +43,14 @@ module ActiveRecord
ar.aggregate_reflections = ar.aggregate_reflections.merge(name.to_s => reflection)
end
- def self.add_attachment_reflection(ar, name, reflection)
- ar.attachment_reflections.merge!(name.to_s => reflection)
- end
-
# \Reflection enables the ability to examine the associations and aggregations of
# Active Record classes and objects. This information, for example,
# can be used in a form builder that takes an Active Record object
# and creates input fields for all of the attributes depending on their type
# and displays the associations to other objects.
#
- # MacroReflection class has info for the AggregateReflection and
- # AssociationReflection classes.
+ # MacroReflection class has info for AggregateReflection and AssociationReflection
+ # classes.
module ClassMethods
# Returns an array of AggregateReflection objects for all the aggregations in the class.
def reflect_on_all_aggregations
@@ -74,21 +65,6 @@ module ActiveRecord
aggregate_reflections[aggregation.to_s]
end
- # Returns an array of reflection objects for all the attachments in the
- # class.
- def reflect_on_all_attachments
- attachment_reflections.values
- end
-
- # Returns the reflection object for the named +attachment+.
- #
- # User.reflect_on_attachment(:avatar)
- # # => the avatar reflection
- #
- def reflect_on_attachment(attachment)
- attachment_reflections[attachment.to_s]
- end
-
# Returns a Hash of name of the reflection as the key and an AssociationReflection as the value.
#
# Account.reflections # => {"balance" => AggregateReflection}
@@ -161,8 +137,6 @@ module ActiveRecord
# HasOneReflection
# BelongsToReflection
# HasAndBelongsToManyReflection
- # HasOneAttachedReflection
- # HasManyAttachedReflection
# ThroughReflection
# PolymorphicReflection
# RuntimeReflection
@@ -439,22 +413,6 @@ module ActiveRecord
end
end
- # Holds all the metadata about a has_one_attached attachment as it was
- # specified in the Active Record class.
- class HasOneAttachedReflection < MacroReflection #:nodoc:
- def macro
- :has_one_attached
- end
- end
-
- # Holds all the metadata about a has_many_attached attachment as it was
- # specified in the Active Record class.
- class HasManyAttachedReflection < MacroReflection #:nodoc:
- def macro
- :has_many_attached
- end
- end
-
# Holds all the metadata about an association as it was specified in the
# Active Record class.
class AssociationReflection < MacroReflection #:nodoc: