parameters: (self, last_breakpoint, block)
docstring: Compute the ratio of stretchability/shrinkability for the
          current line in order to justify the text.
  
          It needs to know the current_line we're on (because line_length
          may vary) and updates it for the second loop of
          find_best_previous_breakpoints
  
          Hopefully the ratio is between -1 and MAX_RATIO.
          Else, it will not be aesthetically pleasant.
docstring_summary: Compute the ratio of stretchability/shrinkability for the
          current line in order to justify the text.
docstring_tokens: Compute the ratio of stretchability / shrinkability for the current line in order to justify the text .
function: def adjustment_ratio(self, last_breakpoint, block):
          """Compute the ratio of stretchability/shrinkability for the
          current line in order to justify the text.
  
          It needs to know the current_line we're on (because line_length
          may vary) and updates it for the second loop of
          find_best_previous_breakpoints
  
          Hopefully the ratio is between -1 and MAX_RATIO.
          Else, it will not be aesthetically pleasant."""
          width = self.current_width - last_breakpoint.total_width
          if block.type is Type.penalty:
              width += block.width
          self.current_line = last_breakpoint.line + 1
          current_line_length = (self.line_length[self.current_line - 1]
                                 if self.current_line < len(self.line_length)
                                 else self.line_length[-1])
          if width < current_line_length:
              stretch = self.current_stretch - last_breakpoint.total_stretch
              if not stretch:
                  return float('inf')
              return (current_line_length - width) / stretch
          elif width > current_line_length:
              shrink = self.current_shrink - last_breakpoint.total_shrink
              if not shrink:
                  return float('inf')
              return (current_line_length - width) / shrink
          else:
              return 0
function_tokens: def adjustment_ratio ( self , last_breakpoint , block ) : width = self . current_width - last_breakpoint . total_width if block . type is Type . penalty : width += block . width self . current_line = last_breakpoint . line + 1 current_line_length = ( self . line_length [ self . current_line - 1 ] if self . current_line < len ( self . line_length ) else self . line_length [ - 1 ] ) if width < current_line_length : stretch = self . current_stretch - last_breakpoint . total_stretch if not stretch : return float ( 'inf' ) return ( current_line_length - width ) / stretch elif width > current_line_length : shrink = self . current_shrink - last_breakpoint . total_shrink if not shrink : return float ( 'inf' ) return ( current_line_length - width ) / shrink else : return 0