Module: Familia::Refinements::DearJsonArrayMethods
- Defined in:
- lib/familia/refinements/dear_json.rb
Instance Method Summary collapse
-
#as_json(options = nil) ⇒ Array
Convert array to JSON-serializable representation.
-
#to_json(options = nil) ⇒ String
Convert array to JSON string using Familia's secure JsonSerializer.
Instance Method Details
#as_json(options = nil) ⇒ Array
Convert array to JSON-serializable representation. This method recursively calls as_json on nested elements to ensure Familia objects are properly serialized in nested structures.
101 102 103 104 105 106 107 108 109 110 |
# File 'lib/familia/refinements/dear_json.rb', line 101 def as_json( = nil) # Create a new array, calling as_json on each element. map do |item| if item.respond_to?(:as_json) item.as_json() else item end end end |
#to_json(options = nil) ⇒ String
Convert array to JSON string using Familia's secure JsonSerializer. This method preprocesses the array to handle Familia objects properly by calling as_json on any objects that support it.
81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/familia/refinements/dear_json.rb', line 81 def to_json( = nil) # Preprocess the array to handle Familia objects processed_array = map do |item| if item.respond_to?(:as_json) item.as_json() else item end end Familia::JsonSerializer.dump(processed_array) end |