<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ring_position(self):
 		"""The current position of the ring, in degrees 		counterclockwise from the northern-most point of the ring in 		the tablet's current logical orientation. 		If the source is 		:attr:`~libinput.constant.TabletPadRingAxisSource.FINGER`, 		libinput sends a terminating event with a ring value of -1 when 		the finger is lifted from the ring. A caller may use this information 		to e.g. determine if kinetic scrolling should be triggered. 		For events not of type 		:attr:`~libinput.constant.EventType.TABLET_PAD_RING`, this property 		raises :exc:`AttributeError`. 		Returns: 			float: The current value of the the axis. -1 if the finger was 			lifted. 		Raises: 			AttributeError 		"""


		if self.type != EventType.TABLET_PAD_RING:
			raise AttributeError(_wrong_prop.format(self.type))
		return self._libinput.libinput_event_tablet_pad_get_ring_position(
			self._handle)