@@ -164,12 +164,29 @@ public void apply(final Metafix metafix, final Record record, final List<String>
164
164
165
165
// RECORD-LEVEL METHODS:
166
166
167
+ add_array {
168
+ @ Override
169
+ public void apply (final Metafix metafix , final Record record , final List <String > params , final Map <String , String > options ) {
170
+ final String field = params .get (0 );
171
+ final Value newValue = newArray (params .subList (1 , params .size ()).stream ().map (Value ::new ));
172
+ record .set (field , newValue );
173
+ newValue .asArray ().forEach (value -> value .withPathSet (newValue .getPath () + "." + value .getPath ()));
174
+ }
175
+ },
167
176
add_field {
168
177
@ Override
169
178
public void apply (final Metafix metafix , final Record record , final List <String > params , final Map <String , String > options ) {
170
179
record .set (params .get (0 ), new Value (params .get (1 )));
171
180
}
172
181
},
182
+ add_hash {
183
+ @ Override
184
+ public void apply (final Metafix metafix , final Record record , final List <String > params , final Map <String , String > options ) {
185
+ final String field = params .get (0 );
186
+ final Value newValue = Value .newHash (h -> options .forEach ((f , v ) -> h .put (f , new Value (v ))));
187
+ record .set (field , newValue );
188
+ }
189
+ },
173
190
array { // array-from-hash
174
191
@ Override
175
192
public void apply (final Metafix metafix , final Record record , final List <String > params , final Map <String , String > options ) {
0 commit comments