I have this hash :
{ "car": [
{ "key": 'removeMe1', "name": 'ok' },
{ "key": 'dontRemoveMe1', "surname": 'ok' },
{ "key": 'dontRemoveMe2',
"array": [
{ "trucks": [
{ "key": 'removeMe2', "name": 'my_profile_name' }
] },
{ "trucks": [
{ "key": 'dontRemoveMe3', "name": '34' },
{ "key": 'removeMe3', "surname": '5324' }
]}
] }
]}
And I would like to remove hash that contains removeMe*
{ "car": [
{ "key": 'dontRemoveMe1', "surname": 'ok' },
{ "key": 'dontRemoveMe2',
"array": [
{ "trucks": [
{ "key": 'dontRemoveMe3', "name": '34' }
] }
] }
]}
I succeed at the first level if I do
my_hash.delete_if { |h| ['removeMe1'].exclude?(h['key']) }
But I don't know how to do it for nested levels.