Class: JsonApi::Resources::RelationshipMeta
- Inherits:
-
Object
- Object
- JsonApi::Resources::RelationshipMeta
- Defined in:
- lib/json_api_ruby/resources/relationships.rb
Instance Attribute Summary collapse
-
#cardinality ⇒ Object
readonly
Returns the value of attribute cardinality.
-
#explicit_resource_class ⇒ Object
readonly
Returns the value of attribute explicit_resource_class.
-
#name ⇒ Object
readonly
The name of this relationship.
Instance Method Summary collapse
- #build_resources(options) ⇒ Object
-
#initialize(name, options) ⇒ RelationshipMeta
constructor
A new instance of RelationshipMeta.
Constructor Details
#initialize(name, options) ⇒ RelationshipMeta
Returns a new instance of RelationshipMeta.
19 20 21 22 23 |
# File 'lib/json_api_ruby/resources/relationships.rb', line 19 def initialize(name, ) @name = name.to_s @cardinality = .fetch(:cardinality) @explicit_resource_class = .fetch(:resource_class, nil) end |
Instance Attribute Details
#cardinality ⇒ Object (readonly)
Returns the value of attribute cardinality.
15 16 17 |
# File 'lib/json_api_ruby/resources/relationships.rb', line 15 def cardinality @cardinality end |
#explicit_resource_class ⇒ Object (readonly)
Returns the value of attribute explicit_resource_class.
17 18 19 |
# File 'lib/json_api_ruby/resources/relationships.rb', line 17 def explicit_resource_class @explicit_resource_class end |
#name ⇒ Object (readonly)
The name of this relationship.
This name comes from the resource object that defines the relationship. Example:
class ArticleResource < JsonApi::Resource
has_one :author # this is the name of this relationship
end
13 14 15 |
# File 'lib/json_api_ruby/resources/relationships.rb', line 13 def name @name end |
Instance Method Details
#build_resources(options) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/json_api_ruby/resources/relationships.rb', line 25 def build_resources() if cardinality == :one relationship = ToOneRelationship.new(name, .merge(explicit_resource_class: explicit_resource_class)) else relationship = ToManyRelationship.new(name, .merge(explicit_resource_class: explicit_resource_class)) end relationship.build_resources() relationship end |