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,
sig/json/repair.rbs,
sig/json/repairer.rbs,
sig/json/repair/cli.rbs,
sig/json/repair/string_utils.rbs
Defined Under Namespace
Modules: Repair, _Readable 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 abool-typedreturn_objectswill not resolve against the literal-true/falseoverloads onJSON.repair.
Class Method Details
.repair(json, return_objects:, skip_json_loads:) ⇒ ::String .repair(json, return_objects:, skip_json_loads:) ⇒ json_value .repair(json, skip_json_loads:) ⇒ ::String
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:, skip_json_loads:) ⇒ ::String .repair_file(path, return_objects:, skip_json_loads:) ⇒ json_value .repair_file(path, skip_json_loads:) ⇒ ::String
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:, skip_json_loads:) ⇒ ::String .repair_io(io, return_objects:, skip_json_loads:) ⇒ json_value .repair_io(io, skip_json_loads:) ⇒ ::String
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 |