Sha256: 80d3b06e1d164ccba2c4a352e11edf0f69d1c53d87c2e91aa5a453f761602f09

Contents?: true

Size: 824 Bytes

Versions: 8

Compression:

Stored size: 824 Bytes

Contents

module EWayClient
  class Client

    include APIClientBase::Client.module(default_opts: :default_opts)

    include Virtus.model
    attribute :wsdl, String, default: "https://ws.remit.vn/ws.asmx?WSDL"
    attribute :username, String
    attribute :password, String
    attribute :secret, String
    attribute :log, Boolean, lazy: true, default: false
    attribute :logger, Object, lazy: true, default: :default_logger

    api_action :query_list_banks
    api_action :query_list_provinces
    api_action :send_transaction
    api_action :query_txn_status, args: [:transaction_id]

    private

    def default_opts
      %i[wsdl username password secret log logger].each_with_object({}) do |attr, hash|
        hash[attr] = send(attr)
      end
    end

    def default_logger
      Logger.new(STDOUT)
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
e_way_client-2.1.0 lib/e_way_client/client.rb
e_way_client-2.0.0 lib/e_way_client/client.rb
e_way_client-1.2.1 lib/e_way_client/client.rb
e_way_client-1.2.0 lib/e_way_client/client.rb
e_way_client-1.1.0 lib/e_way_client/client.rb
e_way_client-1.0.1 lib/e_way_client/client.rb
e_way_client-1.0.0 lib/e_way_client/client.rb
e_way_client-0.2.0 lib/e_way_client/client.rb