Я пытался сделать это на одном из своих сайтов и нашел этот код полезным.
https://codepen.io/AshikNesin/pen/KzgeYX
var doc = new jsPDF();
var specialElementHandlers = {
'#editor': function (element, renderer) {
return true;
}
};
$('#cmd').click(function () {
doc.fromHTML($('#content').html(), 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
doc.save('sample-file.pdf');
});
Порядок объявления имеет значение. Шиш не знает про Only_Onions в вашем коде. Если вы измените его на это, то Only_Onions уже будет объявлен при определении модуля Shish:
class Only_Onions
def for_skewer
return true
end
end
module Shish
only_onions_class = Only_Onions.new
end
class Skewer
include Shish
def only_onions
return only_onions_class.for_skewer
end
def veg?
return true
end
end