src/Ajaxer.php
public function ajax_request_single() {
		$action     = false;
		$action_key = ( true === $this->is_single ) ? $this->action : $this->is_single;

		if ( isset( $_REQUEST[ $action_key . '-action' ] ) && ! empty( $_REQUEST[ $action_key . '-action' ] ) ) {
			$action = $_REQUEST[ $action_key . '-action' ];
		} elseif ( isset( $_REQUEST[ $action_key ] ) && ! empty( $_REQUEST[ $action_key ] ) ) {
			$action = $_REQUEST[ $action_key ];
		}

		$_action = $this->extract_action_slug( $action );

		if ( false !== $action && isset( $this->actions[ $_action ] ) ) {
			if ( false === \is_user_logged_in() && true === $this->actions[ $_action ] ) {
				$this->trigger_ajax_callback( $action );
			} elseif ( \is_user_logged_in() === true ) {
				$this->trigger_ajax_callback( $action );
			}
		}

		\wp_die( 0 );
	}
public function ajax_request_single() {
		$action     = false;
		$action_key = ( true === $this->is_single ) ? $this->action : $this->is_single;

		if ( isset( $_REQUEST[ $action_key . '-action' ] ) && ! empty( $_REQUEST[ $action_key . '-action' ] ) ) {
			$action = $_REQUEST[ $action_key . '-action' ];
		} elseif ( isset( $_REQUEST[ $action_key ] ) && ! empty( $_REQUEST[ $action_key ] ) ) {
			$action = $_REQUEST[ $action_key ];
		}

		$_action = $this->extract_action_slug( $action );

		if ( false !== $action && isset( $this->actions[ $_action ] ) ) {
			if ( false === \is_user_logged_in() && true === $this->actions[ $_action ] ) {
				$this->trigger_ajax_callback( $action );
			} elseif ( \is_user_logged_in() === true ) {
				$this->trigger_ajax_callback( $action );
			}
		}

		\wp_die( 0 );
	}
Triggers A Callback to a ajax request

@hook ajax_before_{ajax_action}
@hook ajax_after_{ajax_action}

if method not exists then below hook fires
@hook ajax_{ajax_action}
ajax_action will be replaced with {$this->action}-action from url