Module: JSONAPI::Resources::RelationshipsDsl::RelationshipHelperMethods
- Defined in:
- lib/json_api/resources/concerns/relationships_dsl.rb
Instance Method Summary collapse
- #detect_polymorphic(name, options) ⇒ Object
- #should_inherit_relationships?(declared_relationships) ⇒ Boolean
- #validate_append_only_options!(options) ⇒ Object
Instance Method Details
#detect_polymorphic(name, options) ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/json_api/resources/concerns/relationships_dsl.rb', line 49 def detect_polymorphic(name, ) return if .key?(:polymorphic) model_klass = reflection_model_class return unless model_klass.respond_to?(:reflect_on_association) reflection = model_klass.reflect_on_association(name) [:polymorphic] = reflection&.polymorphic? end |
#should_inherit_relationships?(declared_relationships) ⇒ Boolean
59 60 61 62 63 |
# File 'lib/json_api/resources/concerns/relationships_dsl.rb', line 59 def should_inherit_relationships?(declared_relationships) !declared_relationships && superclass != JSONAPI::Resource && superclass.respond_to?(:relationship_definitions) end |
#validate_append_only_options!(options) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/json_api/resources/concerns/relationships_dsl.rb', line 41 def () if [:append_only] && [:purge_on_nil] == true raise ArgumentError, "Cannot use append_only: true with purge_on_nil: true" end [:purge_on_nil] = false if [:append_only] && !.key?(:purge_on_nil) end |