Class: JSON::Fragment
Overview
Fragment of JSON document that is to be included as is:
fragment = JSON::Fragment.new("[1, 2, 3]")
JSON.generate({ count: 3, items: fragments })
This allows to easily assemble multiple JSON fragments that have been persisted somewhere without having to parse them nor resorting to string interpolation.
Note: no validation is performed on the provided string. It is the responsibility of the caller to ensure the string contains valid JSON.
Instance Attribute Summary collapse
-
#json ⇒ Object
Returns the value of attribute json.
Instance Method Summary collapse
-
#initialize(json) ⇒ Fragment
constructor
A new instance of Fragment.
- #to_json(state = nil) ⇒ Object
Methods inherited from Struct
Constructor Details
#initialize(json) ⇒ Fragment
Returns a new instance of Fragment.
274 275 276 277 278 279 280 |
# File 'lib/json/common.rb', line 274 def initialize(json) unless string = String.try_convert(json) raise TypeError, " no implicit conversion of #{json.class} into String" end super(string) end |
Instance Attribute Details
#json ⇒ Object
Returns the value of attribute json
273 274 275 |
# File 'lib/json/common.rb', line 273 def json @json end |
Instance Method Details
#to_json(state = nil) ⇒ Object
282 283 284 |
# File 'lib/json/common.rb', line 282 def to_json(state = nil, *) json end |