Sha256: d49d5b9a8f69b70566f14e4cd6499459378146489bb41a3eb7d624570d4d3a9d

Contents?: true

Size: 1.23 KB

Versions: 44

Compression:

Stored size: 1.23 KB

Contents

require 'rubygems'
require 'active_support'
require 'active_merchant'


class GatewaySupport #:nodoc:
  ACTIONS = [:purchase, :authorize, :capture, :void, :credit, :recurring]
  
  include ActiveMerchant::Billing

  attr_reader :gateways
  
  def initialize
    @gateways = Gateway.implementations.sort_by(&:name)
    @gateways.delete(ActiveMerchant::Billing::BogusGateway)
  end
  
  def each_gateway
    @gateways.each{|g| yield g }
  end
  
  def features
    width = 15
    
    print "Name".center(width + 20)
    ACTIONS.each{|f| print "#{f.to_s.capitalize.center(width)}" }
    puts
    
    each_gateway do |g|
      print "#{g.display_name.ljust(width + 20)}"
      ACTIONS.each do |f|
        print "#{(g.instance_methods.include?(f.to_s) ? "Y" : "N").center(width)}"
      end
      puts
    end
  end
  
  def to_rdoc
    each_gateway do |g|
      puts "* {#{g.display_name}}[#{g.homepage_url}] - #{g.supported_countries.join(', ')}"
    end
  end
  
  def to_textile
    each_gateway do |g|
      puts %/ * "#{g.display_name}":#{g.homepage_url} [#{g.supported_countries.join(', ')}]/
    end
  end
  
  def to_s
    each_gateway do |g|
      puts "#{g.display_name} - #{g.homepage_url} [#{g.supported_countries.join(', ')}]"
    end
  end
end


    

Version data entries

44 entries across 44 versions & 11 rubygems

Version Path
vibedeck-activemerchant-1.18.2 lib/support/gateway_support.rb
activemerchant-1.18.1 lib/support/gateway_support.rb
fishman-activemerchant-1.18.0 lib/support/gateway_support.rb
activemerchant-1.18.0 lib/support/gateway_support.rb
activemerchant-1.17.0 lib/support/gateway_support.rb
yetanothernguyen-activemerchant-1.16.0 lib/support/gateway_support.rb
activemerchant-1.16.0 lib/support/gateway_support.rb
gonow-activemerchant-1.15.0 lib/support/gateway_support.rb
bitfluent-activemerchant-1.15.1 lib/support/gateway_support.rb
activemerchant-kiddy-1.15.0.kiddy.1 lib/support/gateway_support.rb
activemerchant-kiddy-1.15.0.kiddy lib/support/gateway_support.rb
activemerchant-1.15.0 lib/support/gateway_support.rb
activemerchant-1.14.0 lib/support/gateway_support.rb
activemerchant-1.13.0 lib/support/gateway_support.rb
activemerchant-1.12.1 lib/support/gateway_support.rb
activemerchant-1.12.0 lib/support/gateway_support.rb
activemerchant-1.11.0 lib/support/gateway_support.rb
activemerchant-1.10.0 lib/support/gateway_support.rb
activemerchant-1.9.4 lib/support/gateway_support.rb
activemerchant-1.9.3 lib/support/gateway_support.rb