Sha256: 797a533e46e5c0890520e09f62904e674c184a82534eca35ee2c26ed18b697b9

Contents?: true

Size: 1.27 KB

Versions: 10

Compression:

Stored size: 1.27 KB

Contents

module Killbill
  module PaypalExpress
    module BuildPluginHelpers
      def build_start_paypal_plugin(account_id = nil)
        if account_id.nil?
          plugin = build_plugin(::Killbill::PaypalExpress::PaymentPlugin, 'paypal_express')
          start_plugin plugin
        else
          config = YAML.load_file('paypal_express.yml')
          existing_credential = {:account_id => account_id}.merge config[:paypal_express]
          second_credential = {:account_id => "#{account_id}_duplicate"}.merge config[:paypal_express]
          config[:paypal_express] = [second_credential, existing_credential]
          Dir.mktmpdir do |dir|
            file_name = File.join(dir, 'paypal_express.yml')
            File.open(file_name, 'w+') do |file|
              YAML.dump(config, file)
            end
            plugin = build_plugin(::Killbill::PaypalExpress::PaymentPlugin, 'paypal_express', File.dirname(file_name))
            start_plugin plugin
          end
        end
      end

      def start_plugin(plugin)
        svcs = plugin.kb_apis.proxied_services
        svcs[:payment_api] = PaypalExpressJavaPaymentApi.new(plugin)
        plugin.kb_apis = ::Killbill::Plugin::KillbillApi.new('paypal_express', svcs)
        plugin.start_plugin
        plugin
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
killbill-paypal-express-5.0.4 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-5.0.3 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-5.0.2 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-5.0.1 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-5.0.0 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-4.1.7 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-4.1.6 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-4.1.5 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-4.1.4 spec/paypal_express/remote/build_plugin_helpers.rb
killbill-paypal-express-4.1.3 spec/paypal_express/remote/build_plugin_helpers.rb