Module: GdsApi::PartMethods

Defined in:
lib/gds_api/part_methods.rb

Instance Method Summary collapse

Instance Method Details

#find_part(slug) ⇒ Object



7
8
9
10
# File 'lib/gds_api/part_methods.rb', line 7

def find_part(slug)
  return nil unless index = part_index(slug)
  parts[index]
end

#has_next_part?(part) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
# File 'lib/gds_api/part_methods.rb', line 21

def has_next_part?(part)
  index = part_index(part.slug)
  !! (index && (index + 1) < parts.length)
end

#has_parts?(part) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/gds_api/part_methods.rb', line 12

def has_parts?(part)
  !! (has_previous_part?(part) || has_next_part?(part))
end

#has_previous_part?(part) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/gds_api/part_methods.rb', line 16

def has_previous_part?(part)
  index = part_index(part.slug)
  !! (index && index > 0)
end

#part_after(part) ⇒ Object



26
27
28
# File 'lib/gds_api/part_methods.rb', line 26

def part_after(part)
  part_at(part, 1)
end

#part_before(part) ⇒ Object



30
31
32
# File 'lib/gds_api/part_methods.rb', line 30

def part_before(part)
  part_at(part, -1)
end

#part_index(slug) ⇒ Object



3
4
5
# File 'lib/gds_api/part_methods.rb', line 3

def part_index(slug)
  parts.index { |p| p.slug == slug }
end