Class: JsonApi::Associations::Meta
- Inherits:
-
Object
- Object
- JsonApi::Associations::Meta
- Defined in:
- lib/json_api_ruby/associations/meta.rb
Constant Summary collapse
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, resource_class: nil, cardinality:) ⇒ Meta
constructor
A new instance of Meta.
- #validate_cardinality(cardinality) ⇒ Object
Constructor Details
#initialize(name, resource_class: nil, cardinality:) ⇒ Meta
Returns a new instance of Meta.
24 25 26 27 28 29 |
# File 'lib/json_api_ruby/associations/meta.rb', line 24 def initialize(name, resource_class: nil, cardinality:) @name = name.to_s validate_cardinality(cardinality) @cardinality = cardinality @explicit_resource_class = resource_class end |
Instance Attribute Details
#cardinality ⇒ Object (readonly)
Returns the value of attribute cardinality.
20 21 22 |
# File 'lib/json_api_ruby/associations/meta.rb', line 20 def cardinality @cardinality end |
#explicit_resource_class ⇒ Object (readonly)
Returns the value of attribute explicit_resource_class.
22 23 24 |
# File 'lib/json_api_ruby/associations/meta.rb', line 22 def explicit_resource_class @explicit_resource_class end |
#name ⇒ Object (readonly)
18 19 20 |
# File 'lib/json_api_ruby/associations/meta.rb', line 18 def name @name end |
Instance Method Details
#build_resources(options) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/json_api_ruby/associations/meta.rb', line 37 def build_resources() if cardinality == TO_ONE relationship = ToOne.new(name, .merge(explicit_resource_class: explicit_resource_class)) else relationship = ToMany.new(name, .merge(explicit_resource_class: explicit_resource_class)) end relationship.build_resources() relationship end |
#validate_cardinality(cardinality) ⇒ Object
31 32 33 34 35 |
# File 'lib/json_api_ruby/associations/meta.rb', line 31 def validate_cardinality(cardinality) unless(CARDINALITY.include?(cardinality)) fail UnknownCardinalityError.new end end |