Module: JsonMask
- Defined in:
- lib/json_mask.rb,
lib/json_mask/error.rb,
lib/json_mask/parser.rb,
lib/json_mask/version.rb,
lib/json_mask/projector.rb,
lib/json_mask/compiled_mask.rb,
lib/json_mask/selection_tree.rb
Overview
Filters JSON-compatible Ruby values using Google partial-response selectors.
Defined Under Namespace
Classes: CompiledMask, LimitError, ParseError
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
-
.call(value, fields, **options) ⇒ Hash, ...
(also: mask)
Filters a JSON-compatible value with a field selector.
-
.compile(fields, max_length: Parser::DEFAULT_MAX_LENGTH, max_depth: Parser::DEFAULT_MAX_DEPTH, max_selectors: Parser::DEFAULT_MAX_SELECTORS) ⇒ CompiledMask
Compiles a selector for reuse across multiple values.
Class Method Details
.call(value, fields, **options) ⇒ Hash, ... Also known as: mask
Filters a JSON-compatible value with a field selector.
18 19 20 |
# File 'lib/json_mask.rb', line 18 def call(value, fields, **) compile(fields, **).call(value) end |
.compile(fields, max_length: Parser::DEFAULT_MAX_LENGTH, max_depth: Parser::DEFAULT_MAX_DEPTH, max_selectors: Parser::DEFAULT_MAX_SELECTORS) ⇒ CompiledMask
Compiles a selector for reuse across multiple values.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/json_mask.rb', line 29 def compile( fields, max_length: Parser::DEFAULT_MAX_LENGTH, max_depth: Parser::DEFAULT_MAX_DEPTH, max_selectors: Parser::DEFAULT_MAX_SELECTORS ) selection_tree = Parser.new( fields, max_length:, max_depth:, max_selectors: ).parse CompiledMask.new(fields, selection_tree) end |