Class: Literal::Rails::RelationType
- Inherits:
-
Object
- Object
- Literal::Rails::RelationType
- Defined in:
- lib/literal/rails/relation_type.rb
Instance Method Summary collapse
- #===(value) ⇒ Object
-
#initialize(model_class) ⇒ RelationType
constructor
A new instance of RelationType.
- #inspect ⇒ Object
Constructor Details
#initialize(model_class) ⇒ RelationType
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/literal/rails/relation_type.rb', line 5 def initialize(model_class) unless Class === model_class && model_class < ActiveRecord::Base raise Literal::TypeError.new( context: Literal::TypeError::Context.new( expected: ActiveRecord::Base, actual: model_class ) ) end @model_class = model_class end |
Instance Method Details
#===(value) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/literal/rails/relation_type.rb', line 19 def ===(value) case value when ActiveRecord::Relation, ActiveRecord::Associations::CollectionProxy, ActiveRecord::AssociationRelation @model_class == value.model || value.model < @model_class else false end end |
#inspect ⇒ Object
17 |
# File 'lib/literal/rails/relation_type.rb', line 17 def inspect = "ActiveRecord::Relation(#{@model_class.name})" |