# File lib/jmespath.rb, line 25 def search(expression, data, runtime_options = {}) data = case data when Hash, Struct then data # check for most common case first when Pathname then load_json(data) when IO, StringIO then JSON.load(data.read) else data end Runtime.new(runtime_options).search(expression, data) end