Я использую RMagick и мне не нравится одно:Расширение/изменение библиотеки
Когда я делаю:
Magick::ImageList.new(path)
путь всегда должен быть локальный файл. Так, в моем коде я много раз повторял это:
if URI(path).host.nil?
Magick::ImageList.new(path)
else
url_image = open(path)
image = Magick::ImageList.new
image.from_blob(url_image.read)
end
Как следует управлять этим кодом, чтобы избежать повторения каждый раз, я хочу, чтобы создать новый объект Magick :: ImageList? Кстати, я использую Rails.
Почему бы не извлечь повторяющийся код в модуль? – jcm
Используйте модуль или метод, но получите его в одном месте и многократно вызывайте ЭТО. В противном случае это приведет к созданию грязного кода. –
Покажите нам образцы «пути», которые активируют разделы 'if' и' else'. –