Patch para permitir que a gem Awesome Print funcione bem com OpenStructs

Eu uso a classe OpenStruct muito, pois torna o código mais bonito. Isso é irritante com um objeto grande ao depurar no pry ou irb, pois awesome_printapenas exibe uma única linha. Os seguintes patches levarão awesome_print a pensar que um OpenStruct é apenas uma estrutura (e adicione o método ao OpenStruct para oferecer suporte a isso):

class OpenStruct
# Allow awesome_print to work (with patch to AwesomePrint::Inspector defined below)
if defined?(AwesomePrint)
def each_pair &block
@table.each_pair(&block)
end
end
end

## Patch inspector so it recognizes OpenStruct
if defined?(AwesomePrint::Inspector)
module AwesomePrint
class Inspector
private
alias_method
:printable_original, :printable
def printable(object)
case object
when OpenStruct then :struct
else printable_original(object)
end
end

end
end
end