Проблема в том, что вы вызываете метод на String
, который не определен правильно.Есть два способа.
Первое решение
def string_between_markers(input, marker1, marker2)
input[/#{Regexp.escape(marker1)}(.*)#{Regexp.escape(marker2)}/m, 1]
end
, а затем назвать его так:
string_between_markers(expected_value, "[","]")
Второе решение
Создайте файл наподобие lib/ext/string.rb
со следующим кодом:
class String
def string_between_markers(marker1, marker2)
self[/#{Regexp.escape(marker1)}(.*)#{Regexp.escape(marker2)}/m, 1]
end
end
Затем в своем коде вам потребуется этот файл, вызвав require 'ext/string'
или добавив lib
папка для путей автозагрузки.
После этого вы вызываете метод, как вы делали это раньше:
expected_value.string_between_markers("[","]")