# File lib/rye/box.rb, line 202
202:     def via_hop(*args)
203:       args = args.flatten.compact 
204:       if args.first.nil?
205:         return @rye_via
206:       elsif args.first.is_a?(Rye::Hop)
207:         @rye_via = args.first
208:       elsif args.first.is_a?(String)
209:         hop = args.shift
210:         if args.first.is_a?(Hash)
211:           @rye_via = Rye::Hop.new(hop, args.first.merge(
212:                                         :debug => @rye_debug,
213:                                         :info => @rye_info,
214:                                         :error => @rye_error)
215:                                  )
216:         else
217:           @rye_via = Rye::Hop.new(hop)
218:         end
219:       end
220:       disconnect
221:       self
222:     end