Class: JSONAPI::PathSegment::Relationship

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi/path_segment.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(relationship:, resource_klass: nil) ⇒ Relationship



29
30
31
32
# File 'lib/jsonapi/path_segment.rb', line 29

def initialize(relationship:, resource_klass: nil)
  @relationship = relationship
  @resource_klass = resource_klass
end

Instance Attribute Details

#relationshipObject (readonly)

Returns the value of attribute relationship.



27
28
29
# File 'lib/jsonapi/path_segment.rb', line 27

def relationship
  @relationship
end

#resource_klassObject (readonly)

Returns the value of attribute resource_klass.



27
28
29
# File 'lib/jsonapi/path_segment.rb', line 27

def resource_klass
  @resource_klass
end

Instance Method Details

#eql?(other) ⇒ Boolean



34
35
36
# File 'lib/jsonapi/path_segment.rb', line 34

def eql?(other)
  other.is_a?(self.class) && relationship == other.relationship && resource_klass == other.resource_klass
end

#hashObject



38
39
40
# File 'lib/jsonapi/path_segment.rb', line 38

def hash
  [relationship, resource_klass].hash
end

#path_specified_resource_klass?Boolean



50
51
52
# File 'lib/jsonapi/path_segment.rb', line 50

def path_specified_resource_klass?
  !@resource_klass.nil?
end

#to_sObject



42
43
44
# File 'lib/jsonapi/path_segment.rb', line 42

def to_s
  @resource_klass ? "#{relationship.parent_resource_klass._type}.#{relationship.name}##{resource_klass._type}" : "#{resource_klass._type}.#{relationship.name}"
end