lib/support/gateway_support.rb in activemerchant-1.38.1 vs lib/support/gateway_support.rb in activemerchant-1.39.0

- old
+ new

@@ -3,60 +3,66 @@ require 'active_merchant' class GatewaySupport #:nodoc: ACTIONS = [:purchase, :authorize, :capture, :void, :credit, :recurring] - + include ActiveMerchant::Billing attr_reader :gateways - + def initialize Dir[File.expand_path(File.dirname(__FILE__) + '/../active_merchant/billing/gateways/*.rb')].each do |f| - filename = File.basename(f, '.rb') + filename = File.basename(f, '.rb') gateway_name = filename + '_gateway' begin gateway_class = ('ActiveMerchant::Billing::' + gateway_name.camelize).constantize rescue NameError puts "Could not load gateway " + gateway_name.camelize + " from " + f + "." end end @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_markdown + 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