jmespath 1.6.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/VERSION +1 -1
 - data/bin/jmespath.rb +12 -0
 - data/lib/jmespath/caching_parser.rb +1 -2
 - data/lib/jmespath/errors.rb +2 -2
 - data/lib/jmespath/lexer.rb +28 -31
 - data/lib/jmespath/nodes/and.rb +1 -2
 - data/lib/jmespath/nodes/comparator.rb +6 -22
 - data/lib/jmespath/nodes/condition.rb +3 -2
 - data/lib/jmespath/nodes/current.rb +1 -0
 - data/lib/jmespath/nodes/expression.rb +2 -2
 - data/lib/jmespath/nodes/field.rb +3 -7
 - data/lib/jmespath/nodes/flatten.rb +1 -2
 - data/lib/jmespath/nodes/function.rb +64 -68
 - data/lib/jmespath/nodes/index.rb +1 -0
 - data/lib/jmespath/nodes/literal.rb +2 -1
 - data/lib/jmespath/nodes/multi_select_hash.rb +1 -0
 - data/lib/jmespath/nodes/multi_select_list.rb +1 -0
 - data/lib/jmespath/nodes/not.rb +1 -2
 - data/lib/jmespath/nodes/or.rb +1 -0
 - data/lib/jmespath/nodes/pipe.rb +1 -0
 - data/lib/jmespath/nodes/projection.rb +4 -11
 - data/lib/jmespath/nodes/slice.rb +13 -18
 - data/lib/jmespath/nodes/subexpression.rb +1 -0
 - data/lib/jmespath/nodes.rb +3 -4
 - data/lib/jmespath/parser.rb +24 -29
 - data/lib/jmespath/runtime.rb +1 -2
 - data/lib/jmespath/token.rb +3 -4
 - data/lib/jmespath/token_stream.rb +4 -5
 - data/lib/jmespath/util.rb +5 -5
 - data/lib/jmespath/version.rb +1 -0
 - data/lib/jmespath.rb +6 -8
 - metadata +6 -4
 
    
        data/lib/jmespath/parser.rb
    CHANGED
    
    | 
         @@ -1,28 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       1 
2 
     | 
    
         
             
            require 'set'
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            module JMESPath
         
     | 
| 
       4 
5 
     | 
    
         
             
              # @api private
         
     | 
| 
       5 
6 
     | 
    
         
             
              class Parser
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
7 
     | 
    
         
             
                AFTER_DOT = Set.new([
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
                                      Lexer::T_IDENTIFIER, # foo.bar
         
     | 
| 
      
 9 
     | 
    
         
            +
                                      Lexer::T_QUOTED_IDENTIFIER, # foo."bar"
         
     | 
| 
      
 10 
     | 
    
         
            +
                                      Lexer::T_STAR,              # foo.*
         
     | 
| 
      
 11 
     | 
    
         
            +
                                      Lexer::T_LBRACE,            # foo{a: 0}
         
     | 
| 
      
 12 
     | 
    
         
            +
                                      Lexer::T_LBRACKET,          # foo[1]
         
     | 
| 
      
 13 
     | 
    
         
            +
                                      Lexer::T_FILTER,            # foo.[?bar==10]
         
     | 
| 
      
 14 
     | 
    
         
            +
                                    ])
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                NUM_COLON_RBRACKET = Set.new([
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 17 
     | 
    
         
            +
                                               Lexer::T_NUMBER,
         
     | 
| 
      
 18 
     | 
    
         
            +
                                               Lexer::T_COLON,
         
     | 
| 
      
 19 
     | 
    
         
            +
                                               Lexer::T_RBRACKET
         
     | 
| 
      
 20 
     | 
    
         
            +
                                             ])
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                COLON_RBRACKET = Set.new([
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
      
 23 
     | 
    
         
            +
                                           Lexer::T_COLON,
         
     | 
| 
      
 24 
     | 
    
         
            +
                                           Lexer::T_RBRACKET
         
     | 
| 
      
 25 
     | 
    
         
            +
                                         ])
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
                CURRENT_NODE = Nodes::Current.new
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
         @@ -34,7 +34,7 @@ module JMESPath 
     | 
|
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                # @param [String<JMESPath>] expression
         
     | 
| 
       36 
36 
     | 
    
         
             
                def parse(expression)
         
     | 
| 
       37 
     | 
    
         
            -
                  tokens = 
     | 
| 
      
 37 
     | 
    
         
            +
                  tokens = @lexer.tokenize(expression)
         
     | 
| 
       38 
38 
     | 
    
         
             
                  stream = TokenStream.new(expression, tokens)
         
     | 
| 
       39 
39 
     | 
    
         
             
                  result = expr(stream)
         
     | 
| 
       40 
40 
     | 
    
         
             
                  if stream.token.type != Lexer::T_EOF
         
     | 
| 
         @@ -110,13 +110,11 @@ module JMESPath 
     | 
|
| 
       110 
110 
     | 
    
         | 
| 
       111 
111 
     | 
    
         
             
                def nud_lbrace(stream)
         
     | 
| 
       112 
112 
     | 
    
         
             
                  valid_keys = Set.new([:quoted_identifier, :identifier])
         
     | 
| 
       113 
     | 
    
         
            -
                  stream.next(match:valid_keys)
         
     | 
| 
      
 113 
     | 
    
         
            +
                  stream.next(match: valid_keys)
         
     | 
| 
       114 
114 
     | 
    
         
             
                  pairs = []
         
     | 
| 
       115 
115 
     | 
    
         
             
                  begin
         
     | 
| 
       116 
116 
     | 
    
         
             
                    pairs << parse_key_value_pair(stream)
         
     | 
| 
       117 
     | 
    
         
            -
                    if stream.token.type == :comma
         
     | 
| 
       118 
     | 
    
         
            -
                      stream.next(match:valid_keys)
         
     | 
| 
       119 
     | 
    
         
            -
                    end
         
     | 
| 
      
 117 
     | 
    
         
            +
                    stream.next(match: valid_keys) if stream.token.type == :comma
         
     | 
| 
       120 
118 
     | 
    
         
             
                  end while stream.token.type != :rbrace
         
     | 
| 
       121 
119 
     | 
    
         
             
                  stream.next
         
     | 
| 
       122 
120 
     | 
    
         
             
                  Nodes::MultiSelectHash.new(pairs)
         
     | 
| 
         @@ -167,7 +165,7 @@ module JMESPath 
     | 
|
| 
       167 
165 
     | 
    
         
             
                end
         
     | 
| 
       168 
166 
     | 
    
         | 
| 
       169 
167 
     | 
    
         
             
                def led_dot(stream, left)
         
     | 
| 
       170 
     | 
    
         
            -
                  stream.next(match:AFTER_DOT)
         
     | 
| 
      
 168 
     | 
    
         
            +
                  stream.next(match: AFTER_DOT)
         
     | 
| 
       171 
169 
     | 
    
         
             
                  if stream.token.type == :star
         
     | 
| 
       172 
170 
     | 
    
         
             
                    parse_wildcard_object(stream, left)
         
     | 
| 
       173 
171 
     | 
    
         
             
                  else
         
     | 
| 
         @@ -217,12 +215,10 @@ module JMESPath 
     | 
|
| 
       217 
215 
     | 
    
         
             
                  stream.next
         
     | 
| 
       218 
216 
     | 
    
         
             
                  while stream.token.type != :rparen
         
     | 
| 
       219 
217 
     | 
    
         
             
                    args << expr(stream, 0)
         
     | 
| 
       220 
     | 
    
         
            -
                    if stream.token.type == :comma
         
     | 
| 
       221 
     | 
    
         
            -
                      stream.next
         
     | 
| 
       222 
     | 
    
         
            -
                    end
         
     | 
| 
      
 218 
     | 
    
         
            +
                    stream.next if stream.token.type == :comma
         
     | 
| 
       223 
219 
     | 
    
         
             
                  end
         
     | 
| 
       224 
220 
     | 
    
         
             
                  stream.next
         
     | 
| 
       225 
     | 
    
         
            -
                  Nodes::Function.create(name, args, : 
     | 
| 
      
 221 
     | 
    
         
            +
                  Nodes::Function.create(name, args, disable_visit_errors: @disable_visit_errors)
         
     | 
| 
       226 
222 
     | 
    
         
             
                end
         
     | 
| 
       227 
223 
     | 
    
         | 
| 
       228 
224 
     | 
    
         
             
                def led_or(stream, left)
         
     | 
| 
         @@ -286,7 +282,7 @@ module JMESPath 
     | 
|
| 
       286 
282 
     | 
    
         | 
| 
       287 
283 
     | 
    
         
             
                def parse_key_value_pair(stream)
         
     | 
| 
       288 
284 
     | 
    
         
             
                  key = stream.token.value
         
     | 
| 
       289 
     | 
    
         
            -
                  stream.next(match:Set.new([:colon]))
         
     | 
| 
      
 285 
     | 
    
         
            +
                  stream.next(match: Set.new([:colon]))
         
     | 
| 
       290 
286 
     | 
    
         
             
                  stream.next
         
     | 
| 
       291 
287 
     | 
    
         
             
                  Nodes::MultiSelectHash::KeyValuePair.new(key, expr(stream))
         
     | 
| 
       292 
288 
     | 
    
         
             
                end
         
     | 
| 
         @@ -311,7 +307,7 @@ module JMESPath 
     | 
|
| 
       311 
307 
     | 
    
         
             
                  if stream.token.binding_power < 10
         
     | 
| 
       312 
308 
     | 
    
         
             
                    CURRENT_NODE
         
     | 
| 
       313 
309 
     | 
    
         
             
                  elsif type == :dot
         
     | 
| 
       314 
     | 
    
         
            -
                    stream.next(match:AFTER_DOT)
         
     | 
| 
      
 310 
     | 
    
         
            +
                    stream.next(match: AFTER_DOT)
         
     | 
| 
       315 
311 
     | 
    
         
             
                    parse_dot(stream, binding_power)
         
     | 
| 
       316 
312 
     | 
    
         
             
                  elsif type == :lbracket || type == :filter
         
     | 
| 
       317 
313 
     | 
    
         
             
                    expr(stream, binding_power)
         
     | 
| 
         @@ -321,7 +317,7 @@ module JMESPath 
     | 
|
| 
       321 
317 
     | 
    
         
             
                end
         
     | 
| 
       322 
318 
     | 
    
         | 
| 
       323 
319 
     | 
    
         
             
                def parse_wildcard_array(stream, left = nil)
         
     | 
| 
       324 
     | 
    
         
            -
                  stream.next(match:Set.new([:rbracket]))
         
     | 
| 
      
 320 
     | 
    
         
            +
                  stream.next(match: Set.new([:rbracket]))
         
     | 
| 
       325 
321 
     | 
    
         
             
                  stream.next
         
     | 
| 
       326 
322 
     | 
    
         
             
                  left ||= CURRENT_NODE
         
     | 
| 
       327 
323 
     | 
    
         
             
                  right = parse_projection(stream, Token::BINDING_POWER[:star])
         
     | 
| 
         @@ -334,6 +330,5 @@ module JMESPath 
     | 
|
| 
       334 
330 
     | 
    
         
             
                  right = parse_projection(stream, Token::BINDING_POWER[:star])
         
     | 
| 
       335 
331 
     | 
    
         
             
                  Nodes::ObjectProjection.new(left, right)
         
     | 
| 
       336 
332 
     | 
    
         
             
                end
         
     | 
| 
       337 
     | 
    
         
            -
             
     | 
| 
       338 
333 
     | 
    
         
             
              end
         
     | 
| 
       339 
334 
     | 
    
         
             
            end
         
     | 
    
        data/lib/jmespath/runtime.rb
    CHANGED
    
    
    
        data/lib/jmespath/token.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       1 
2 
     | 
    
         
             
            module JMESPath
         
     | 
| 
       2 
3 
     | 
    
         
             
              # @api private
         
     | 
| 
       3 
4 
     | 
    
         
             
              class Token < Struct.new(:type, :value, :position, :binding_power)
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
5 
     | 
    
         
             
                NULL_TOKEN = Token.new(:eof, '', nil)
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
                BINDING_POWER = {
         
     | 
| 
         @@ -28,8 +28,8 @@ module JMESPath 
     | 
|
| 
       28 
28 
     | 
    
         
             
                  Lexer::T_NOT               => 45,
         
     | 
| 
       29 
29 
     | 
    
         
             
                  Lexer::T_LBRACE            => 50,
         
     | 
| 
       30 
30 
     | 
    
         
             
                  Lexer::T_LBRACKET          => 55,
         
     | 
| 
       31 
     | 
    
         
            -
                  Lexer::T_LPAREN            => 60 
     | 
| 
       32 
     | 
    
         
            -
                }
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Lexer::T_LPAREN            => 60
         
     | 
| 
      
 32 
     | 
    
         
            +
                }.freeze
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
                # @param [Symbol] type
         
     | 
| 
       35 
35 
     | 
    
         
             
                # @param [Mixed] value
         
     | 
| 
         @@ -37,6 +37,5 @@ module JMESPath 
     | 
|
| 
       37 
37 
     | 
    
         
             
                def initialize(type, value, position)
         
     | 
| 
       38 
38 
     | 
    
         
             
                  super(type, value, position, BINDING_POWER[type])
         
     | 
| 
       39 
39 
     | 
    
         
             
                end
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
40 
     | 
    
         
             
              end
         
     | 
| 
       42 
41 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       1 
2 
     | 
    
         
             
            module JMESPath
         
     | 
| 
       2 
3 
     | 
    
         
             
              # @api private
         
     | 
| 
       3 
4 
     | 
    
         
             
              class TokenStream
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
5 
     | 
    
         
             
                # @param [String<JMESPath>] expression
         
     | 
| 
       6 
6 
     | 
    
         
             
                # @param [Array<Token>] tokens
         
     | 
| 
       7 
7 
     | 
    
         
             
                def initialize(expression, tokens)
         
     | 
| 
         @@ -35,8 +35,8 @@ module JMESPath 
     | 
|
| 
       35 
35 
     | 
    
         
             
                def inspect
         
     | 
| 
       36 
36 
     | 
    
         
             
                  str = []
         
     | 
| 
       37 
37 
     | 
    
         
             
                  @tokens.each do |token|
         
     | 
| 
       38 
     | 
    
         
            -
                    str <<  
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
                    str << '%3d  %-15s %s' %
         
     | 
| 
      
 39 
     | 
    
         
            +
                           [token.position, token.type, token.value.inspect]
         
     | 
| 
       40 
40 
     | 
    
         
             
                  end
         
     | 
| 
       41 
41 
     | 
    
         
             
                  str.join("\n")
         
     | 
| 
       42 
42 
     | 
    
         
             
                end
         
     | 
| 
         @@ -50,11 +50,10 @@ module JMESPath 
     | 
|
| 
       50 
50 
     | 
    
         | 
| 
       51 
51 
     | 
    
         
             
                def validate_match(token, match)
         
     | 
| 
       52 
52 
     | 
    
         
             
                  if match && !match.include?(token.type)
         
     | 
| 
       53 
     | 
    
         
            -
                    raise Errors::SyntaxError,  
     | 
| 
      
 53 
     | 
    
         
            +
                    raise Errors::SyntaxError, 'type missmatch'
         
     | 
| 
       54 
54 
     | 
    
         
             
                  else
         
     | 
| 
       55 
55 
     | 
    
         
             
                    token
         
     | 
| 
       56 
56 
     | 
    
         
             
                  end
         
     | 
| 
       57 
57 
     | 
    
         
             
                end
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
58 
     | 
    
         
             
              end
         
     | 
| 
       60 
59 
     | 
    
         
             
            end
         
     | 
    
        data/lib/jmespath/util.rb
    CHANGED
    
    | 
         @@ -1,18 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       1 
2 
     | 
    
         
             
            module JMESPath
         
     | 
| 
       2 
3 
     | 
    
         
             
              # @api private
         
     | 
| 
       3 
4 
     | 
    
         
             
              module Util
         
     | 
| 
       4 
5 
     | 
    
         
             
                class << self
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
6 
     | 
    
         
             
                  # Determines if a value is false as defined by JMESPath:
         
     | 
| 
       7 
7 
     | 
    
         
             
                  #
         
     | 
| 
       8 
8 
     | 
    
         
             
                  #   https://github.com/jmespath/jmespath.site/blob/master/docs/proposals/improved-filters.rst#and-expressions-1
         
     | 
| 
       9 
9 
     | 
    
         
             
                  #
         
     | 
| 
       10 
10 
     | 
    
         
             
                  def falsey?(value)
         
     | 
| 
       11 
11 
     | 
    
         
             
                    !value ||
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 12 
     | 
    
         
            +
                      (value.respond_to?(:to_ary) && value.to_ary.empty?) ||
         
     | 
| 
      
 13 
     | 
    
         
            +
                      (value.respond_to?(:to_hash) && value.to_hash.empty?) ||
         
     | 
| 
      
 14 
     | 
    
         
            +
                      (value.respond_to?(:to_str) && value.to_str.empty?) ||
         
     | 
| 
      
 15 
     | 
    
         
            +
                      (value.respond_to?(:entries) && !value.entries.any?)
         
     | 
| 
       16 
16 
     | 
    
         
             
                    # final case necessary to support Enumerable and Struct
         
     | 
| 
       17 
17 
     | 
    
         
             
                  end
         
     | 
| 
       18 
18 
     | 
    
         | 
    
        data/lib/jmespath/version.rb
    CHANGED
    
    
    
        data/lib/jmespath.rb
    CHANGED
    
    | 
         @@ -1,9 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       1 
2 
     | 
    
         
             
            require 'json'
         
     | 
| 
       2 
3 
     | 
    
         
             
            require 'stringio'
         
     | 
| 
       3 
4 
     | 
    
         
             
            require 'pathname'
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
       5 
6 
     | 
    
         
             
            module JMESPath
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
7 
     | 
    
         
             
              require 'jmespath/caching_parser'
         
     | 
| 
       8 
8 
     | 
    
         
             
              require 'jmespath/errors'
         
     | 
| 
       9 
9 
     | 
    
         
             
              require 'jmespath/lexer'
         
     | 
| 
         @@ -16,7 +16,6 @@ module JMESPath 
     | 
|
| 
       16 
16 
     | 
    
         
             
              require 'jmespath/version'
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
              class << self
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
19 
     | 
    
         
             
                # @param [String] expression A valid
         
     | 
| 
       21 
20 
     | 
    
         
             
                #   [JMESPath](https://github.com/boto/jmespath) expression.
         
     | 
| 
       22 
21 
     | 
    
         
             
                # @param [Hash] data
         
     | 
| 
         @@ -24,18 +23,17 @@ module JMESPath 
     | 
|
| 
       24 
23 
     | 
    
         
             
                #   expression does not resolve inside `data`.
         
     | 
| 
       25 
24 
     | 
    
         
             
                def search(expression, data, runtime_options = {})
         
     | 
| 
       26 
25 
     | 
    
         
             
                  data = case data
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
      
 26 
     | 
    
         
            +
                         when Hash, Struct then data # check for most common case first
         
     | 
| 
      
 27 
     | 
    
         
            +
                         when Pathname then load_json(data)
         
     | 
| 
      
 28 
     | 
    
         
            +
                         when IO, StringIO then JSON.parse(data.read)
         
     | 
| 
      
 29 
     | 
    
         
            +
                         else data
         
     | 
| 
       31 
30 
     | 
    
         
             
                    end
         
     | 
| 
       32 
31 
     | 
    
         
             
                  Runtime.new(runtime_options).search(expression, data)
         
     | 
| 
       33 
32 
     | 
    
         
             
                end
         
     | 
| 
       34 
33 
     | 
    
         | 
| 
       35 
34 
     | 
    
         
             
                # @api private
         
     | 
| 
       36 
35 
     | 
    
         
             
                def load_json(path)
         
     | 
| 
       37 
     | 
    
         
            -
                  JSON. 
     | 
| 
      
 36 
     | 
    
         
            +
                  JSON.parse(File.open(path, 'r', encoding: 'UTF-8', &:read))
         
     | 
| 
       38 
37 
     | 
    
         
             
                end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
38 
     | 
    
         
             
              end
         
     | 
| 
       41 
39 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,23 +1,25 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: jmespath
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.6.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Trevor Rowe
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2022- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2022-11-25 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       13 
13 
     | 
    
         
             
            description: Implements JMESPath for Ruby
         
     | 
| 
       14 
14 
     | 
    
         
             
            email: trevorrowe@gmail.com
         
     | 
| 
       15 
     | 
    
         
            -
            executables: 
     | 
| 
      
 15 
     | 
    
         
            +
            executables:
         
     | 
| 
      
 16 
     | 
    
         
            +
            - jmespath.rb
         
     | 
| 
       16 
17 
     | 
    
         
             
            extensions: []
         
     | 
| 
       17 
18 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       18 
19 
     | 
    
         
             
            files:
         
     | 
| 
       19 
20 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
       20 
21 
     | 
    
         
             
            - VERSION
         
     | 
| 
      
 22 
     | 
    
         
            +
            - bin/jmespath.rb
         
     | 
| 
       21 
23 
     | 
    
         
             
            - lib/jmespath.rb
         
     | 
| 
       22 
24 
     | 
    
         
             
            - lib/jmespath/caching_parser.rb
         
     | 
| 
       23 
25 
     | 
    
         
             
            - lib/jmespath/errors.rb
         
     | 
| 
         @@ -66,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       66 
68 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       67 
69 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       68 
70 
     | 
    
         
             
            requirements: []
         
     | 
| 
       69 
     | 
    
         
            -
            rubygems_version: 3.2. 
     | 
| 
      
 71 
     | 
    
         
            +
            rubygems_version: 3.2.22
         
     | 
| 
       70 
72 
     | 
    
         
             
            signing_key:
         
     | 
| 
       71 
73 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       72 
74 
     | 
    
         
             
            summary: JMESPath - Ruby Edition
         
     |