Module: FastJsonparser
- Defined in:
- lib/fast_jsonparser.rb,
lib/fast_jsonparser/version.rb
Constant Summary collapse
- Error =
Class.new(StandardError)
- ParseError =
Class.new(Error)
- UnknownError =
Class.new(Error)
- BatchSizeTooSmall =
Class.new(Error)
- DEFAULT_BATCH_SIZE =
from include/simdjson/dom/parser.h
1_000_000
- VERSION =
"0.5.0"
Class Method Summary collapse
- .load(source, symbolize_keys: true) ⇒ Object
- .load_many(source, symbolize_keys: true, batch_size: DEFAULT_BATCH_SIZE, &block) ⇒ Object
- .parse(source, symbolize_keys: true) ⇒ Object
Class Method Details
.load(source, symbolize_keys: true) ⇒ Object
18 19 20 |
# File 'lib/fast_jsonparser.rb', line 18 def load(source, symbolize_keys: true) parser._load(source, symbolize_keys) end |
.load_many(source, symbolize_keys: true, batch_size: DEFAULT_BATCH_SIZE, &block) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/fast_jsonparser.rb', line 22 def load_many(source, symbolize_keys: true, batch_size: DEFAULT_BATCH_SIZE, &block) Native.new._load_many(source, symbolize_keys, batch_size, &block) rescue UnknownError => error case error. when "This parser can't support a document that big" raise BatchSizeTooSmall, "One of the documents was bigger than the batch size (#{batch_size}B), try increasing it." else raise end end |
.parse(source, symbolize_keys: true) ⇒ Object
14 15 16 |
# File 'lib/fast_jsonparser.rb', line 14 def parse(source, symbolize_keys: true) parser._parse(source, symbolize_keys) end |