Sha256: c335cfaeb1cd8d363e365d29f2353654ad7e4b86e731040dc2238aa906887582

Contents?: true

Size: 1019 Bytes

Versions: 1

Compression:

Stored size: 1019 Bytes

Contents

require 'data_transformer'

module JoyUssdEngine
    class HubtelTransformer < JoyUssdEngine::DataTransformer
        # Tranforms request and response payload between hubtel and our application
        def request_params(params)
            {
                session_id: params[:Mobile],
                message: params[:Message],
                ClientState: params[:ClientState],
                Type: params[:Type]
                data: params
            }
        end

        def app_terminator(params)
            params[:Type] == 'Release' || (params[:Type] != "Initiation" && @context.get_state.blank?)
        end

        def response(message, client_state)
            {
                Type: "Response",
                Message: message,
                ClientState: client_state
            }
        end
    
        def release(message)
            {
                Type: "Release",
                Message: message,
                ClientState: "EndJoyUssdEngine"
            }
        end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
joy_ussd_engine-0.1.3 lib/joy_ussd_engine/hubtel_transformer.rb