A summary of data about the Ruby ecosystem.

Recent Releases of https://github.com/jmespath/jmespath.rb

https://github.com/jmespath/jmespath.rb - Release v1.6.2 - 2022-11-25

  • Issue - Allow comparison of Numeric types (includes Float).

  • Issue - Add jmespath.rb to gemspec executables.

- Ruby
Published by mullermp over 3 years ago

https://github.com/jmespath/jmespath.rb - Release v1.6.1 - 2022-03-07

  • Issue - Use JSON.parse instead of JSON.load.

- Ruby
Published by alextwoods almost 4 years ago

https://github.com/jmespath/jmespath.rb - Release v1.6.0 - 2022-02-14

  • Feature - Add support for string comparissons.

- Ruby
Published by alextwoods about 4 years ago

https://github.com/jmespath/jmespath.rb - Release v1.5.0 - 2022-01-10

- Ruby
Published by alextwoods about 4 years ago

https://github.com/jmespath/jmespath.rb - Release v1.4.0 - 2018-04-04

References: #40, #41, #42, #44

- Ruby
Published by trevorrowe almost 8 years ago

https://github.com/jmespath/jmespath.rb - Release v1.3.1 - 2016-07-18

References: #36

  • Bug fix for users that have a 2.0.1+ version of the json_pure gem loaded
    in their environment prior to requiring jmespath.

- Ruby
Published by trevorrowe over 9 years ago

https://github.com/jmespath/jmespath.rb - Release v1.3.0 - 2016-07-07

References: #24, #29, #31, #35

  • Restored support for legacy unquoted string literals.

    See related GitHub pull request #32.

  • Improved error handling for invalid JSON values.

    See related GitHub pull request #29.

  • Optimised false checks.

    See related GitHub pull request #24.

  • Removed depdendency on pure_json gem. Necessary code changes have been
    made to ensure things work properly with Ruby 1.9.3 and JSON 1.5.5.

  • Bug-fix for Ruby 2.3. JMESPath requires sort and sort_by functions to be stable.
    There was a persistent test failure in Ruby 2.3 due to an unstable sort.

- Ruby
Published by trevorrowe over 9 years ago

https://github.com/jmespath/jmespath.rb - Release v1.2.4 - 2016-04-06

References: #23

  • Will no longer require json_pure if the json gem has already been loaded.
    This will result in a warning and a degraded experience if json < 1.8.1
    has already been loaded.

    Mixing json/pure with json/ext results in json errors, for example:

    some_hash = { 'jsonrpc' => 'abc', 'jsonversion' => 1 }
    some_hash.to_json
    #=> raises a JSON::Pure::Generator::State TypeError
    

    See related GitHub issue #20.

- Ruby
Published by trevorrowe almost 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.2.3 - 2016-04-01

References: #20, #21

  • Will no longer require json_pure if the json gem has already been loaded.
    This will result in a warning and a degraded experience if json < 1.8.1
    has already been loaded.

    Mixing json/pure with json/ext results in json errors, for example:

    some_hash = { 'jsonrpc' => 'abc', 'jsonversion' => 1 }
    some_hash.to_json
    #=> raises a JSON::Pure::Generator::State TypeError
    

    See related GitHub issue #20.

- Ruby
Published by trevorrowe almost 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.2.2 - 2016-03-31

References: #18, #19

  • Removed hard dependency on json >= 1.8.1. Replaced with json_pure >= 1.8.1.
    The runtime will still attempt to load the faster gem, if availble and will fall
    back on json_pure for compatability. Ruby 2.0+ ships with 1.8.1 by default,
    so only Ruby 1.9.3 will default to the slower version.

    See related GitHub issue #18.

- Ruby
Published by trevorrowe almost 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.2.1 - 2016-03-31

  • Minor change in require order.

1.2 (2016-03-30)

  • Errors caused by invalid function arguments normally raise
    an arity or argument error. You can now prevent JMESPath.search
    from raising these errors by passing disable_visit_error: true.

    JMESPath.search(expression, data, disable_visit_errors: true)
    

    This will cause these functions to return a null/nil value instead.

    See related GitHub issue #10.

  • Fix for Ruby 1.9.3. Older versions of Ruby ship with a version of the json
    gem that can not perform the following:

    JSON.load('1')
    

    This results in the JMESPath library in assuming is parsing an unknown or
    invalid token. This works fine newer versions of Ruby. To resolve this issue
    the library is forcing a newer version of the json gem.

    Fixes GitHub issue #11.

  • Fix for boolean truthy checks.
    See related GitHub issue #15.

  • Updated code to pass the latest shared compliance tests.

  • Added support for the map function.

  • Added support for JEP-9,
    including unary filter expressions, and && filter expressions.

- Ruby
Published by trevorrowe almost 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.2 - 2016-03-31

References: #11

  • Errors caused by invalid function arguments normally raise
    an arity or argument error. You can now prevent JMESPath.search
    from raising these errors by passing disable_visit_error: true.

    JMESPath.search(expression, data, disable_visit_errors: true)
    

    This will cause these functions to return a null/nil value instead.

    See related GitHub issue #10.

  • Fix for Ruby 1.9.3. Older versions of Ruby ship with a version of the json
    gem that can not perform the following:

    JSON.load('1')
    

    This results in the JMESPath library in assuming is parsing an unknown or
    invalid token. This works fine newer versions of Ruby. To resolve this issue
    the library is forcing a newer version of the json gem.

    Fixes GitHub issue #11.

  • Fix for boolean truthy checks.
    See related GitHub issue #15.

  • Updated code to pass the latest shared compliance tests.

  • Added support for the map function.

  • Added support for JEP-9,
    including unary filter expressions, and && filter expressions.

- Ruby
Published by trevorrowe almost 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.1.3 - 2015-09-17

  • Removed json gem dependency.

- Ruby
Published by trevorrowe over 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.1.2 - 2015-09-17

  • Resolved an issue preventing eager autoloading of comparator classes.

- Ruby
Published by trevorrowe over 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.1.1 - 2015-09-16

  • Fix for Ruby version 1.9.3 which does not support #[]
    on Enumerable from Ruby stdlib.

- Ruby
Published by trevorrowe over 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.1.0 - 2015-09-16

References: #5, #7

- Ruby
Published by trevorrowe over 10 years ago

https://github.com/jmespath/jmespath.rb - Release v1.0.2 - 2014-12-04

References: #2, #3

  • Added a copy of the Apache 2.0 license to the project and now
    now bundling the license as part of the release.

- Ruby
Published by trevorrowe about 11 years ago

https://github.com/jmespath/jmespath.rb - Release v1.0.1 - 2014-10-28

  • Bug-fix, when accessing Struct objects with an invalid member
    nil is now returned, instead of raising an error.

- Ruby
Published by trevorrowe over 11 years ago

https://github.com/jmespath/jmespath.rb - Release v1.0.0 - 2014-10-28

  • The expression cache now has a maximum size.

  • Documented the rake benchmark and rake benchmark:cached tasks.

  • You can now disable expression caching when constructing a Runtime by
    passing :cache_expressions => false. Caching is still enabled by
    default.

    # disable caching
    runtime = JMESPath::Runtime.new(cache_expressions: false)
    runtime.search(expression, data)
    
  • Adding a missing require statement for Pathname to the JMESPath module.

- Ruby
Published by trevorrowe over 11 years ago

https://github.com/jmespath/jmespath.rb - Release v0.9.0 - 2014-10-27

  • Addded support for searching over hashes with symbolized keys and Struct
    objects indifferently

    # symbolized hash keys
    data = {
       foo: {
        bar: {
          yuck: 'value'
        }
      }
    }
    JMESPath.search('foo.bar.yuck', data)
    #=> 'value'
    
    # Struct objects
    data = Struct.new(:foo).new(
      Struct.new(:bar).new(
        Struct.new(:yuck).new('value')
      )
    )
    JMESPath.search('foo.bar.yuck', data)
    #=> 'value'
    
  • Added a simple thread-safe expression parser cache; This significantly speeds
    up searching multiple times with the same expression. This cache is enabled
    by default when calling JMESPath.search

  • Added simple benchmark suite. You can execute benchmarks with with rake benchmark
    or CACHE=1 rake benchmark; Caching is disabled by default in the benchmarks.

- Ruby
Published by trevorrowe over 11 years ago

https://github.com/jmespath/jmespath.rb - Release v0.2.0 - 2014-10-24

  • Passing all of the JMESPath compliance tests.

- Ruby
Published by trevorrowe over 11 years ago