Class: JSON::Pie::ResourceRelationships

Inherits:
Object
  • Object
show all
Defined in:
lib/json/pie/resource_relationships.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance:, relationships: {}) ⇒ ResourceRelationships

Returns a new instance of ResourceRelationships.



15
16
17
18
# File 'lib/json/pie/resource_relationships.rb', line 15

def initialize(instance:, relationships: {})
  @instance = instance
  @relationships = relationships
end

Instance Attribute Details

#instanceObject (readonly)

Returns the value of attribute instance.



9
10
11
# File 'lib/json/pie/resource_relationships.rb', line 9

def instance
  @instance
end

Class Method Details

.assign(**kwargs) ⇒ Object



11
12
13
# File 'lib/json/pie/resource_relationships.rb', line 11

def self.assign(**kwargs)
  new(**kwargs).assign
end

Instance Method Details

#assignObject



20
21
22
23
24
25
# File 'lib/json/pie/resource_relationships.rb', line 20

def assign
  relationships.each do |rel, data|
    relationship_instance = ResourceObject.parse (data || {}).fetch(:data, {})
    instance.public_send "#{rel}=", relationship_instance
  end
end