diff --git a/lib/fetcher/base.rb b/lib/fetcher/base.rb index 45911c7..5b7ea3e 100644 --- a/lib/fetcher/base.rb +++ b/lib/fetcher/base.rb @@ -17,6 +17,11 @@ class Base def initialize(options={}) %w(server username password receiver).each do |opt| raise ArgumentError, "#{opt} is required" unless options[opt.to_sym] + # convert receiver to a Class if it isn't already. + if opt == "receiver" && options[:receiver].is_a?(String) + options[:receiver] = Kernel.const_get(options[:receiver]) + end + instance_eval("@#{opt} = options[:#{opt}]") end end