summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* change :validate_utf8=false to still emit utf8lcg/utf8-string-replacementLamont Granquist2015-04-231-2/+3
| | | | | | | | | | | validate_utf8=true raises on bad input validate_utf8=false now does not raise, but still produces valid UTF-8 clean JSON by replacing characters. the previous behavior of emitting bad JSON that was not UTF-8 clean when validate_utf8 was false is dropped (and this was behavior only of the C extension and not the ffi extension since the ffi layer must do some scrubbing of its own).
* emit token that failed utf-8 validationLamont Granquist2015-04-212-33/+35
| | | | plus code cleanup of the c-extension
* bumping version to 2.1.02.1.0Lamont Granquist2015-04-201-1/+1
|
* Merge pull request #19 from chef/lcg/stringio-encodingLamont Granquist2015-04-201-0/+9
|\ | | | | support encoding StringIOs
| * fix ffi sideLamont Granquist2015-04-171-0/+9
| |
* | add :unique_key_checking flag to parserlcg/unique_key_checkingLamont Granquist2015-04-172-0/+5
|/ | | | | can be used to error out if keys are duplicated in input rather than silently replacing.
* add copyright noticesLamont Granquist2015-04-1410-0/+214
|
* limit rescue to just LoadErrorLamont Granquist2015-04-131-2/+12
|
* remove commented codeLamont Granquist2015-04-061-4/+0
|
* add commentsLamont Granquist2015-04-061-0/+50
|
* move dlopen to c extensionLamont Granquist2015-04-062-5/+2
| | | | jruby can't load this
* fixing libname guessing logicLamont Granquist2015-04-063-43/+46
| | | | | run through multiple different possible library names and extensions, favoring the libyajl2 gem versions first.
* add native dlopen extension codeLamont Granquist2015-04-062-51/+8
| | | | | This will get dlopen in a consistent place on all the platforms which need it.
* warn on stderrlcg/ffi-less-ffi-yajlLamont Granquist2015-03-241-2/+2
|
* Remove ffi gem as a hard dependencyLamont Granquist2015-03-243-16/+52
| | | | | | | | | | | Copies the algorithm out of FFI.map_library_name into the FFI_Yajl#map_library_name function so that when we're loading up the C extension we don't need to also slurp in the ffi gem just to run that. The ffi gem is moved to a hard dependency of only the jruby version of the gem, and its a development dependency for the other ruby VMs (so rake spec will work against the ffi library), but its an optional library to install to make the ffi library work on VMs that support C extensions (MRI, RBX).
* bumping version to 2.0.0 for release2.0.0Lamont Granquist2015-03-171-1/+1
|
* Removing JSON gem compatibility layerLamont Granquist2015-03-171-140/+0
| | | | | | | | | | | | | This causes issues because JSON and ffi-yajl get into fights over who monkeypatched the classes last and this causes random issues with whitespace disagreement between the JSON gem and the underlying libyajl C library. For deterministic output its better not to have fighting monkeypatches, it generates considerable chaos. If anyone wants to extract the json_gem.rb file into a gem of its own and support these monkeypatches going forwards that would be fine (there is, in fact, literally nothing that could be done to stop you), but we do not want to support these.
* bump version to 1.4.0Lamont Granquist2015-02-171-1/+1
|
* mixin windows? helper directly into the objectLamont Granquist2015-02-172-5/+9
| | | | | its useful to be able to include/extend the platform class and then use this sugar directly
* Move #windows? to lib to allow not checking libname to determine platformTyler Vann-Campbell2015-02-172-1/+7
|
* remove unnecessary linelcg/invalid-utf8Lamont Granquist2015-01-221-1/+0
|
* support turning off validate_utf8Lamont Granquist2015-01-221-0/+1
|
* catch and raise invalid string error betterLamont Granquist2015-01-221-0/+2
|
* include status code for Unknown ErrorElan Ruusamäe2015-01-221-1/+1
|
* bump version to 1.3.1Lamont Granquist2014-11-241-1/+1
|
* allow arbitrary Objects as keysLamont Granquist2014-11-241-1/+1
| | | | i fixed Hashes/Arrays/true/false/nil, but forgot Object.
* version bump to 1.3.01.3.0Lamont Granquist2014-11-221-1/+1
|
* support calling #to_s on all types for keysLamont Granquist2014-11-221-26/+61
| | | | | | compatibility with JSON gem and yajl-ruby closes #14
* fix bare object parsingLamont Granquist2014-11-221-5/+2
| | | | closes #2 and #16
* fix #15 by requiring string or IOLamont Granquist2014-11-221-0/+2
|
* Merge pull request #29 from opscode/lcg/better-ext-vs-ffi-logicLamont Granquist2014-11-221-2/+22
|\ | | | | add better ext-vs-ffi logic
| * line wrap on commentlcg/better-ext-vs-ffi-logicLamont Granquist2014-10-131-5/+8
| |
| * add better ext-vs-ffi logicLamont Granquist2014-10-131-2/+19
| | | | | | | | | | plus add warnings so its obvious what is happening and spammy warns will be a good indication of bugs.
* | fix minor typoElan Ruusamäe2014-11-121-1/+1
|/
* add deprecation warningLamont Granquist2014-10-091-0/+2
|
* the c ext loads and still tests fine on 1.8.7Lamont Granquist2014-10-091-2/+1
|
* version bump to 1.2.01.2.0Lamont Granquist2014-10-091-1/+1
|
* Merge pull request #27 from opscode/lcg/windows-libnameLamont Granquist2014-10-092-0/+4
|\ | | | | fix libnames for windows
| * fix libnames for windowslcg/windows-libnameLamont Granquist2014-10-082-0/+4
| | | | | | | | this fixes the perf issues on windows where we were falling back to ffi
* | Cleaning up code - letting yajl do more heavy lifting for us. Also removing ↵tyler-ball2014-10-072-3/+6
| | | | | | | | version change since that will occur during release.
* | Making necessary C changes to only call to_json if it is presenttyler-ball2014-10-071-1/+1
| |
* | Upping versiontyler-ball2014-10-061-1/+1
| |
* | If an object does not have .to_json, we no longer try to call ittyler-ball2014-10-061-1/+5
|/
* use RbConfig instead of ConfigLamont Granquist2014-08-291-1/+1
|
* bumping version to 1.1.01.1.0Lamont Granquist2014-08-261-1/+1
|
* fix rbx using dlopen via FFILamont Granquist2014-08-231-11/+44
| | | | this means rbx uses FFI in ways that I cannot work around.
* fix ruby 1.8.7 testsLamont Granquist2014-08-231-1/+1
|
* add datetime encodingLamont Granquist2014-08-232-2/+45
| | | | | | | | necessary for ohai json_gem spec complies with JSON gem format. this also arguably fixes issues with yajl-ruby where it does not encode date objects correctly.
* bumping version + changelog for releas1.0.2Lamont Granquist2014-08-091-1/+1
|
* ensure opts hash is never nilLamont Granquist2014-08-081-0/+1
|