Sha256: ffb7624e85b62e62154a65fa4f3297315209bb9ee59975e66fff88bc721d69b6
Contents?: true
Size: 1.28 KB
Versions: 5
Compression:
Stored size: 1.28 KB
Contents
class SocketSpy < SimpleDelegator def write(content) p :writing => content __getobj__.write content end [:readline, :readuntil, :read_all, :read].each{|symbol| define_method(symbol) do |*args| content = __getobj__.send(symbol, *args) p :reading => content content end } end class MethodSpy def initialize(delegate, &block) @delegate = delegate @filter = block end def method_missing(symbol, *args, &block) result = @delegate.send(symbol, *args, &block) p [symbol, args, result, block] if @filter && @filter.call(symbol.to_s) result end end class String def to_camel_case(split_on='-') self.split(split_on).collect{|e| e.capitalize}.join(split_on) end end module Net::HTTPHeader def to_hash new_headers = @header.dup @header.each do |k,v| new_headers.delete(k) new_headers[k.to_camel_case] = v end new_headers end end class Net::HTTP::Post # handle multiple parameters with the same name def form_data=(params, sep = '&') self.body = params.map {|key,value| if value.is_a?(Array) value.map{|v| param_line(key, v) } else param_line(key, value) end }.join(sep) end def param_line(k, v) "#{urlencode(k.to_s)}=#{urlencode(v.to_s)}" end end
Version data entries
5 entries across 5 versions & 2 rubygems
Version | Path |
---|---|
mikehale-rat-hole-0.1.8 | lib/util.rb |
mikehale-rat-hole-0.1.9 | lib/util.rb |
rat-hole-0.1.11 | lib/util.rb |
rat-hole-0.1.10 | lib/util.rb |
rat-hole-0.1.9 | lib/util.rb |