Sha256: 91c44b6b45b3f835ed1f121c9bd5a954ef68b6a83dd31106e2ccceb4b881a895
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require 'rubygems' require 'active_support' require 'lib/abtain_billing' class GatewaySupport #:nodoc: ACTIONS = [:purchase, :authorize, :capture, :void, :credit, :recurring] include AbtainBilling::Billing attr_reader :gateways def initialize @gateways = Gateway.implementations.sort_by(&:name) @gateways.delete(AbtainBilling::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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
abtain_billing-1.03 | lib/support/gateway_support.rb |
abtain_billing-1.02 | lib/support/gateway_support.rb |