Hackfut Security File Manager
Current Path:
/opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/jmespath-1.4.0/lib
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.4.0
/
gems
/
jmespath-1.4.0
/
lib
/
📁
..
📁
jmespath
📄
jmespath.rb
(1.09 KB)
Editing: jmespath.rb
require 'json' require 'stringio' require 'pathname' module JMESPath require 'jmespath/caching_parser' require 'jmespath/errors' require 'jmespath/lexer' require 'jmespath/nodes' require 'jmespath/parser' require 'jmespath/runtime' require 'jmespath/token' require 'jmespath/token_stream' require 'jmespath/util' require 'jmespath/version' class << self # @param [String] expression A valid # [JMESPath](https://github.com/boto/jmespath) expression. # @param [Hash] data # @return [Mixed,nil] Returns the matched values. Returns `nil` if the # expression does not resolve inside `data`. 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 # @api private def load_json(path) JSON.load(File.open(path, 'r', encoding: 'UTF-8') { |f| f.read }) end end end
Upload File
Create Folder