Module: JSON
- Defined in:
- lib/json/repair.rb,
lib/json/repairer.rb,
lib/json/repair/cli.rb,
lib/json/repair/version.rb,
lib/json/repair/string_utils.rb
Defined Under Namespace
Modules: Repair Classes: JSONRepairError, Repairer
Class Method Summary collapse
- .repair(json, return_objects: false, skip_json_loads: false) ⇒ Object
- .repair_file(path, return_objects: false, skip_json_loads: false) ⇒ Object
-
.repair_io(io, return_objects: false, skip_json_loads: false) ⇒ Object
Inlined rather than calling ‘repair(…)` so the literal-bool overloads in sig/json/repair.rbs narrow correctly per caller — forwarding a `bool`-typed `return_objects` will not resolve against the literal- `true`/`false` overloads on `JSON.repair`.
Class Method Details
.repair(json, return_objects: false, skip_json_loads: false) ⇒ Object
18 19 20 21 |
# File 'lib/json/repair.rb', line 18 def self.repair(json, return_objects: false, skip_json_loads: false) parsed = skip_json_loads ? repaired_parse(json) : tolerant_parse(json) return_objects ? parsed : JSON.generate(parsed) end |
.repair_file(path, return_objects: false, skip_json_loads: false) ⇒ Object
33 34 35 36 37 |
# File 'lib/json/repair.rb', line 33 def self.repair_file(path, return_objects: false, skip_json_loads: false) json = File.read(path.to_s) parsed = skip_json_loads ? repaired_parse(json) : tolerant_parse(json) return_objects ? parsed : JSON.generate(parsed) end |
.repair_io(io, return_objects: false, skip_json_loads: false) ⇒ Object
Inlined rather than calling ‘repair(…)` so the literal-bool overloads in sig/json/repair.rbs narrow correctly per caller — forwarding a `bool`-typed `return_objects` will not resolve against the literal- `true`/`false` overloads on `JSON.repair`.
27 28 29 30 31 |
# File 'lib/json/repair.rb', line 27 def self.repair_io(io, return_objects: false, skip_json_loads: false) json = io.read || '' parsed = skip_json_loads ? repaired_parse(json) : tolerant_parse(json) return_objects ? parsed : JSON.generate(parsed) end |