Module: OmiseProviderChecker

Extended by:
ActiveSupport::Concern
Included in:
TicketService::Transaction, TicketTransaction
Defined in:
app/models/concerns/omise_provider_checker.rb

Overview

Shared concern for checking if a provider value represents Omise payment gateway This module provides a standardized way to identify Omise provider across models and services

Can be used in two ways:

  1. Include in a class for instance method usage

  2. Call as module function for standalone usage

Examples:

Instance method usage (included in class)

class MyService
  include OmiseProviderChecker

  def process_payment
    if uses_omise_provider?(provider)
      # Handle Omise payment
    end
  end
end

Module function usage (standalone)

if OmiseProviderChecker.omise_provider?(transaction.cc_provider)
  # Handle Omise payment
end

Class Method Summary collapse

Class Method Details

.omise_provider?(provider_value) ⇒ Boolean

Class-level helper method for checking if a provider represents Omise This can be called without including the module

Examples:

OmiseProviderChecker.omise_provider?('omise')  # => true
OmiseProviderChecker.omise_provider?(:omise)   # => true
OmiseProviderChecker.omise_provider?('gbprimepay')  # => false
OmiseProviderChecker.omise_provider?(nil)      # => false

Parameters:

  • provider_value (String, Symbol, nil)

    The provider identifier to check

Returns:

  • (Boolean)

    true if the provider is Omise, false otherwise



39
40
41
42
43
# File 'app/models/concerns/omise_provider_checker.rb', line 39

def self.omise_provider?(provider_value)
  return false if provider_value.blank?

  provider_value.to_s == Externals::Omise::Source::OMISE_SOURCE_ID
end