Это можно сделать, используя токен текущего узла @
как часть выражения фильтра. Одно замечание: вы должны окружать литералы в JMESPath обратными метками. Невыполнение этого требования приводит к неверному выражению. Вот фильтр для получения всех чисел больше двух из массива:
[?@ > `2`]
Для массивов объектов, отличных от чисел, вы можете использовать любую из встроенных функций в выражении фильтра вместе с токеном текущего узла @
для фильтрации. Вы получите все строки, содержащие substring
:
[?contains(@, `substring`)]
Вы можете делать это путем установки @request.env['RAW_POST_BODY']
к желаемому входному потоку.
Следующее работало на меня:
@request.env['RAW_POST_DATA'] = MY_XML_STRING
post :create
Проверьте "should_be_restful" макрос shoulda. Этот макрос будет скоро удержан от использования от, должен иметь, и только доступный в в имел бы драгоценный камень.
Я просто записал сценарий тестирования с помощью Net:HTTP для тестирования остальных сервис.