In a previous post I
described how I added some aliases to my .pdbrc
to dump local vars to a file.
Now that I’m diving deeper into the ecosystem, I wanted to find
out how to do the equivalent in ruby and rails. After some quick googling, I came up with
the following roughly roughly equivalent snippet (and analagously can go into .pryrc
):
Pry::Commands.block_command "dl", "Dump locals to log" do
vars = target.local_variables.select { |v| !v.to_s.starts_with?('_') }
foo = Hash[vars.map { |k| [k, target.local_variable_get(k)] }].to_json
File.open('/tmp/foo.json', 'w') { |f| f.write(foo) }
output.puts "Dumped locals to \"/tmp/foo.json\""
end
For reference: git commit