I want to show product attribute option label instead of option value in admin grid in custom module?

Can any one help me in this?

In magento 1 I get this [suggestion][1] and same I want in magento 2.


  [1]: https://magento.stackexchange.com/questions/52780/how-to-get-the-option-label-instead-of-option-value-in-magento-admin-panel-grid

below is the file that show static status in admin grid and I want to retrieve product attribute options and values in admin grid:-

    namespace Company\Module\Model;
        
        class Probore
        {
            /**#@+
             * Module Probore values
             */
            const STATUS_NEW = 1;    
            const STATUS_PROCESSING = 2;        
            const STATUS_COMPLETED = 3;
        
            /**
             * Retrieve option array
             *
             * @return string[]
             */
            public static function getOptionArray()
            {
                return [self::STATUS_NEW => __('New'),
                    self::STATUS_PROCESSING => __('Processing'),
                    self::STATUS_COMPLETED => __('Completed')];
            }
        
            /**
             * Retrieve option array with empty value
             *
             * @return string[]
             */
            public function getAllOptions()
            {
                $result = [];
        
                foreach (self::getOptionArray() as $index => $value) {
                    $result[] = ['value' => $index, 'label' => $value];
                }
        
                return $result;
            }
        
            /**
             * Retrieve option text by option value
             *
             * @param string $optionId
             * @return string
             */
            public function getOptionText($optionId)
            {
                $options = self::getOptionArray();
        
                return isset($options[$optionId]) ? $options[$optionId] : null;
            }
        }

How to retrieve attribute and assign in the admin grid so option label is visible in admin grid.

I am using below code:-

    namespace Company\Module\Model;
    
    //use Psr\Log\LoggerInterface;
    
    class Probore
    {
        /**
         * @var \Company\Module\Helper\Data
         */
        protected $_helper;
    	
    	protected $_logLoggerInterface;
    	protected $_context;
    	
    	
        public function __construct(       
    		\Magento\Backend\Block\Template\Context $context,
    		//LoggerInterface $logLoggerInterface,
    		\Company\Module\Helper\Data $helper
        ) {	
    		//$this->_logLoggerInterface = $logLoggerInterface;
    		$this->_helper = $helper;
    		$this->_context = $context;
    		parent::__construct($context);		
        }	
    	
        public static function getOptionArray()
        {
            $result = array (
    			'4' => '0.5',
    			'6' => '0.6',
    		);		
            return $result;        
        }
    	
        /**
         * Retrieve option array with empty value
         *
         * @return string[]
         */
    	public function getOptions()
    	{
    		$data = $this->_helper->getAttributeLabel();
    		$res = [];
    		foreach ($data as $index => $value) {
    		   $res[] = ['value' => $value['value'], 'label' => $value['label']];
    		}
    		return $res;
    	}
        
        public function getOptionText($optionId)
        {
            $options = self::getOptionArray();
    
            return isset($options[$optionId]) ? $options[$optionId] : null;
        }
    }

In function `getOptionArray()` if I pass the static value in array it show the value in grid form.

In the above code I am getting below error:-

    Uncaught Error: Using $this when not in object context in <magento  installation path>/app/code/Complay/Module/Model/Probore.php:37

this is my helper code:-

    namespace Company\Module\Helper;
    
    class Data extends \Magento\Framework\App\Helper\AbstractHelper
    {
    
        protected $eavConfig;
    	
    	/**
         * @var \Magento\Framework\App\Config\ScopeConfigInterface
         */
        protected $_urlBuilder;
    
        /**
         * @var \Magento\Framework\App\Config\ScopeConfigInterface
         */
        protected $_customerSession;
    
        /**
         * @var \Magento\Framework\App\Config\ScopeConfigInterface
         */
        protected $_productFactory;
    
        /**
         * Initialize
         *
         * @param \Magento\Framework\App\Helper\Context $context
         * @param \Magento\Catalog\Model\ProductFactory $productFactory
         * @param \Magento\Customer\Model\Session $customerSession
         * @param array $data
         */
        public function __construct(
            \Magento\Framework\App\Helper\Context $context,
            \Magento\Catalog\Model\ProductFactory $productFactory,
            \Magento\Customer\Model\Session $customerSession,
    		\Magento\Eav\Model\Config $eavConfig
        ) {
            $this->_productFactory = $productFactory;
            $this->_urlBuilder = $context->getUrlBuilder();
            $this->_customerSession = $customerSession;
    		$this->eavConfig = $eavConfig;
            parent::__construct($context);
        }
    
        /**
         *  Get form action url
         */
        public function getFormAction() {
            return $this->_urlBuilder->getUrl('callforprice/callprice/save');
        }
    
        /**
         *  Get configuration settings value
         */
        public function getConfigValue($value = '') {
            return $this->scopeConfig
                    ->getValue(
                            $value,
                            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
                            );
        }
    
        /**
         *  Get product sku
         */
        public function getProductSku($prodId) {
            $product = $this->_productFactory->create();
            $product->load($prodId);
            return $product->getSku();
        }
    
        /**
         *  Get product url
         */
        public function getProductUrl($prodId) {
            $product = $this->_productFactory->create();
            $product->load($prodId);
            return $product->getUrlKey();
        }
    
        /**
         *  Get customer name
         */
        public function getUserName() {
            if (!$this->_customerSession->isLoggedIn()) {
                return '';
            }
            $customer = $this->_customerSession->getCustomerDataObject();
            return $customer->getFirstName() . ' ' . $customer->getLastName();
        }
    
        /**
         *  Get customer email
         */
        public function getUserEmail() {
            if (!$this->_customerSession->isLoggedIn()) {
                return '';
            }
            /**
             * @var CustomerInterface $customer
             */
            $customer = $this->_customerSession->getCustomerDataObject();
            return $customer->getEmail();
        }
    	
    	public function getStoreBaseUrl(){
    		return $this->_storeManager->getStore()
                    ->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
    	}
    	
    	public function getAttributeLabel()
    	{
    	   $attribute = $this->eavConfig->getAttribute('catalog_product', 'boretype');
    	   $options = $attribute->getSource()->getAllOptions();
    	   return $options;
    	}
    }

`boretype` is a dropdown type product attribute.