diff --git a/bin/stripe-mock-server b/bin/stripe-mock-server index 11b67693c..fcb9c1595 100755 --- a/bin/stripe-mock-server +++ b/bin/stripe-mock-server @@ -11,6 +11,7 @@ opts = Trollop::options do opt :server, "Server to use", :type => :string, :default => 'thin' opt :debug, "Request and response output", :default => true opt :pid_path, "Location to put server pid file", :type => :string, :default => './stripe-mock-server.pid' + opt :require, "Extra path to require when loading the server; can be specified multiple times", :type => :string, :multi => true end require 'stripe_mock' diff --git a/lib/stripe_mock/server.rb b/lib/stripe_mock/server.rb index 6f2cda2e4..cafb3cb99 100644 --- a/lib/stripe_mock/server.rb +++ b/lib/stripe_mock/server.rb @@ -3,10 +3,16 @@ module StripeMock class Server def self.start_new(opts) - puts "Starting StripeMock server on port #{opts[:port] || 4999}" + host = opts.fetch(:host, "0.0.0.0") + port = opts.fetch(:port, 4999) + extra_requires = opts.fetch(:require, []) - host = opts.fetch :host,'0.0.0.0' - port = opts.fetch :port, 4999 + extra_requires.each do |path| + puts "Requiring additional path: #{path}" + require(path) + end + + puts "Starting StripeMock server on port #{port}" DRb.start_service "druby://#{host}:#{port}", Server.new DRb.thread.join @@ -88,6 +94,5 @@ def ping def upsert_stripe_object(object, attributes) @instance.upsert_stripe_object(object, attributes) end - end end