@@ -134,13 +134,7 @@ def camelize?(_key)
134
134
135
135
def generate_as_json ( value , camelize_keys : true )
136
136
if value . is_a? ( Hash )
137
- value . each_with_object ( { } ) do |( key , val ) , hash |
138
- next if val . respond_to? ( :empty? ) && val . empty?
139
-
140
- camelize = camelize_keys ? camelize? ( key ) : false
141
- key = convert_json_key ( key , camelize : camelize )
142
- hash [ key ] = generate_as_json ( val , camelize_keys : camelize )
143
- end
137
+ process_json_hash ( value , camelize_keys )
144
138
elsif value . respond_to? ( :as_json )
145
139
value . as_json
146
140
elsif value . is_a? ( Array )
@@ -152,6 +146,16 @@ def generate_as_json(value, camelize_keys: true)
152
146
end
153
147
end
154
148
149
+ def process_json_hash ( value , camelize_keys )
150
+ value . each_with_object ( { } ) do |( key , val ) , hash |
151
+ next if val . respond_to? ( :empty? ) && val . empty?
152
+
153
+ camelize = camelize_keys ? camelize? ( key ) : false
154
+ key = convert_json_key ( key , camelize : camelize )
155
+ hash [ key ] = generate_as_json ( val , camelize_keys : camelize )
156
+ end
157
+ end
158
+
155
159
def convert_json_key ( key , camelize : true )
156
160
key = key . to_s if key . is_a? ( Symbol )
157
161
key = camel_case ( key ) if camelize
0 commit comments