Module: NestedText
- Defined in:
- lib/nestedtext/encode.rb,
lib/nestedtext.rb,
lib/nestedtext/decode.rb,
lib/nestedtext/dumper.rb,
lib/nestedtext/errors.rb,
lib/nestedtext/parser.rb,
lib/nestedtext/version.rb,
lib/nestedtext/scanners.rb,
lib/nestedtext/constants.rb,
lib/nestedtext/encode_helpers.rb,
lib/nestedtext/core_ext_internal.rb
Overview
Model after JSON NestedText.dump(obj, io=nil) => dumps to string, or to IO if given NestedText.dump_file(obj, filename)
Defined Under Namespace
Modules: NTEncodeMixin
Classes: Error
Constant Summary
collapse
- VERSION =
"2.0.0"
Class Method Summary
collapse
Class Method Details
.dump(obj, io: nil, indentation: 4, strict: false) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/nestedtext/encode.rb', line 11
def self.dump(obj, io: nil, indentation: 4, strict: false)
raise Errors::DumpBadIOError, io unless io.nil? || io.respond_to?(:write) && io.respond_to?(:fsync)
dumper = Dumper.new(indentation, strict)
result = dumper.dump obj
unless io.nil?
io.write(result)
io.fsync
end
dumper.dump obj
end
|
.dump_file(obj, filename, **kwargs) ⇒ Object
25
26
27
28
29
30
31
|
# File 'lib/nestedtext/encode.rb', line 25
def self.dump_file(obj, filename, **kwargs)
raise Errors::DumpFileBadPathError, filename unless filename.is_a? String
File.open(filename, mode = "wt") do |file|
dump(obj, io: file, **kwargs)
end
end
|
.load(ntstring, top_class: Object, strict: false) ⇒ Object
10
11
12
13
14
|
# File 'lib/nestedtext/decode.rb', line 10
def self.load(ntstring, top_class: Object, strict: false)
raise Errors::WrongInputTypeError.new([String], ntstring) unless ntstring.nil? || ntstring.is_a?(String)
Parser.new(StringIO.new(ntstring), top_class, strict: strict).parse
end
|
.load_file(filename, top_class: Object, strict: false) ⇒ Object
16
17
18
19
20
21
22
23
|
# File 'lib/nestedtext/decode.rb', line 16
def self.load_file(filename, top_class: Object, strict: false)
raise Errors::WrongInputTypeError.new([String], filename) unless !filename.nil? && filename.is_a?(String)
File.open(filename, mode = "rt") do |file|
Parser.new(file, top_class, strict: strict).parse
end
end
|