Показаны сообщения с ярлыком хелперы. Показать все сообщения
Показаны сообщения с ярлыком хелперы. Показать все сообщения

пятница, 29 апреля 2011 г.

Карты, деньги, два ствола... Нет... Ruby, Rails, метапрограммирование

Нынче уже некоторое время пишу под Rails. С сожалением смотрю на себя, ибо все таки Python опыт - это опыт Python, но не Ruby. Добрался до некоторой задачи, и захотелось упростить некоторые вещи в шаблоне, а стандартные средства routes не устраивают. Точнее устраивают, но не совсем полностью. Спасибо Печорину Андрею, который подсказал некоторый выход из ситуации, и навел меня на метапрограммирование, которое, как оказалось хорошо применяется в Ruby.
Ничего серьезного, или дико умопомрачительного я не опишу, но покажу, что даже злостный eval (да-да, питонисты, да и вообще, сразу косо посмотрят на меня), может быть полезен, и он довольно таки вписался в Ruby. Точнее был красиво вписан туда.

Покажу я применение, на простой задаче, с которой я встретился. Не то чтобы, тут нет других выходов, не то чтобы, тут по другому не выйти из ситуации, но мне показалось более красивым это решение. Итак, пристегнитесь покрепче. Тем, кто не хочет даже слышать об eval прошу пропустить этот пост, и не читать дальше.