<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Undr</title>
	
	<link>http://memo.undr.su</link>
	<description>На память</description>
	<lastBuildDate>Fri, 04 Nov 2011 08:10:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Undr" /><feedburner:info uri="undr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Проверка на русские символы в строке</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/d1SDFMZNnwI/</link>
		<comments>http://memo.undr.su/2011/11/04/proverka-na-russkie-simvoly-v-stroke/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 07:11:58 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=758</guid>
		<description>Как-то потребовалось делать проверку на кириллицу в строке. Данный код проверяет состоит ли строка только из символов кириллицы и цифр и других знаков:



class TestCyrillic
&amp;#160; class &amp;#60;&amp;#60; self
&amp;#160; &amp;#160; RUSSIAN_CODES = &amp;#40;1040..1103&amp;#41;.to_a + &amp;#40;32..64&amp;#41;.to_a + &amp;#40;91..96&amp;#41;.to_a + &amp;#40;123..126&amp;#41;.to_a + &amp;#91;1025, 1105&amp;#93;
&amp;#160; &amp;#160; 
&amp;#160; &amp;#160; def cyrillic?&amp;#40;string&amp;#41;
&amp;#160; &amp;#160; &amp;#160; result = true
&amp;#160; &amp;#160; &amp;#160; string.force_encoding&amp;#40;&amp;#34;UTF-8&amp;#34;&amp;#41;.each_char&amp;#123;&amp;#124;c&amp;#124; result &amp;#38;&amp;#38;= [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YrcVIuu3zfYOp9MuN_4RRU8dH2Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YrcVIuu3zfYOp9MuN_4RRU8dH2Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YrcVIuu3zfYOp9MuN_4RRU8dH2Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YrcVIuu3zfYOp9MuN_4RRU8dH2Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/d1SDFMZNnwI" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/11/04/proverka-na-russkie-simvoly-v-stroke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/11/04/proverka-na-russkie-simvoly-v-stroke/</feedburner:origLink></item>
		<item>
		<title>Тестирование модулей с помощью RSpec</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/EmzAj9GB6Ic/</link>
		<comments>http://memo.undr.su/2011/10/21/testirovanie-modulej-s-pomoshhyu-rspec/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 05:30:04 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=748</guid>
		<description>К примеру, у нас есть такой модуль, который мы добавляем в классы Airport, City:

&amp;#160; module Nameable
&amp;#160; &amp;#160; extend ActiveSupport::Concern
&amp;#160; &amp;#160; 
&amp;#160; &amp;#160; module InstanceMethods
&amp;#160; &amp;#160; &amp;#160; def name locale=:en
&amp;#160; &amp;#160; &amp;#160; &amp;#160; locale = :en if !name_ru &amp;#124;&amp;#124; name_ru.empty?
&amp;#160; &amp;#160; &amp;#160; &amp;#160; send&amp;#40;name_method&amp;#40;locale&amp;#41;&amp;#41;
&amp;#160; &amp;#160; &amp;#160; end
&amp;#160; &amp;#160; 
&amp;#160; &amp;#160; &amp;#160; def localized_name
&amp;#160; &amp;#160; &amp;#160; &amp;#160; [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E2zZVp9t4uOzs-ZrmMLpM19AqOM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E2zZVp9t4uOzs-ZrmMLpM19AqOM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E2zZVp9t4uOzs-ZrmMLpM19AqOM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E2zZVp9t4uOzs-ZrmMLpM19AqOM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/EmzAj9GB6Ic" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/10/21/testirovanie-modulej-s-pomoshhyu-rspec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/10/21/testirovanie-modulej-s-pomoshhyu-rspec/</feedburner:origLink></item>
		<item>
		<title>Доклад по Grape</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/GoLugx4xEQQ/</link>
		<comments>http://memo.undr.su/2011/10/03/doklad-po-grape/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 02:41:57 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[grape]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=744</guid>
		<description>Доклад по Grape

http://confreaks.net/videos/475-rubyconf2010-the-grapes-of-rapid

Тестовое приложение

https://github.com/mbleigh/conf_ask
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6jb18JkSobLBe0zcGfilmbdd1zM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6jb18JkSobLBe0zcGfilmbdd1zM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6jb18JkSobLBe0zcGfilmbdd1zM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6jb18JkSobLBe0zcGfilmbdd1zM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/GoLugx4xEQQ" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/10/03/doklad-po-grape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/10/03/doklad-po-grape/</feedburner:origLink></item>
		<item>
		<title>Презентация. Как работает шардинг в MongoDB</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/eVGds_Wo_tI/</link>
		<comments>http://memo.undr.su/2011/08/22/prezentaciya-kak-rabotaet-sharding-v-mongodb/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 06:00:47 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Документация]]></category>
		<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[mongodb]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=740</guid>
		<description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LguOK5_wE9fOAmNC23mzSnHt23Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LguOK5_wE9fOAmNC23mzSnHt23Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LguOK5_wE9fOAmNC23mzSnHt23Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LguOK5_wE9fOAmNC23mzSnHt23Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/eVGds_Wo_tI" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/08/22/prezentaciya-kak-rabotaet-sharding-v-mongodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/08/22/prezentaciya-kak-rabotaet-sharding-v-mongodb/</feedburner:origLink></item>
		<item>
		<title>Русский язык и \w в регулярках</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/xh0cmOik8GE/</link>
		<comments>http://memo.undr.su/2011/08/19/russkij-yazyk-i-w-v-regulyarkax/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 12:46:43 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Документация]]></category>
		<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=734</guid>
		<description>Для того, чтобы выбрать все буквы, в регулярных выражениях используется выражение \w.

&amp;#34;Bla-bla-bla! (c)&amp;#34;.gsub&amp;#40;/&amp;#91;^\w&amp;#93;/u, ''&amp;#41; # =&amp;#62; &amp;#34;BlaBlaBlac&amp;#34;

С русским языком такое не получится:

&amp;#34;Бла-Бла-Бла! (с)&amp;#34;.gsub&amp;#40;/&amp;#91;^\w&amp;#93;/u, ''&amp;#41; # =&amp;#62; &amp;#34;&amp;#34;

Самое первое что приходит на ум это:

&amp;#34;Бла-Бла-Бла! (с)&amp;#34;.gsub&amp;#40;/&amp;#91;^а-я&amp;#93;/iu, ''&amp;#41; # =&amp;#62; &amp;#34;БлаБлаБлас&amp;#34;

Оппана! Вроде работает, но на самом деле, это не корректное выражение. Пример:

'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю1234567890=/!&amp;#34;№%:,.;()_+!@#$%^&amp;#38;*()'.gsub&amp;#40;/&amp;#91;^а-я&amp;#93;/ui, ''&amp;#41;
# =&amp;#62; &amp;#34;ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю&amp;#34;

Буквы ё и Ё [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-bygGGNi9bKSH9qgnD0n6FlGNJo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-bygGGNi9bKSH9qgnD0n6FlGNJo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-bygGGNi9bKSH9qgnD0n6FlGNJo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-bygGGNi9bKSH9qgnD0n6FlGNJo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/xh0cmOik8GE" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/08/19/russkij-yazyk-i-w-v-regulyarkax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/08/19/russkij-yazyk-i-w-v-regulyarkax/</feedburner:origLink></item>
		<item>
		<title>MongoId документы и метод to_a</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/nouQdj3xLkM/</link>
		<comments>http://memo.undr.su/2011/08/04/mongoid-dokumenty-i-metod-to_a/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 12:50:40 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[mongoid]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=722</guid>
		<description>Сегодня натолкнулся на странный баг в программе. Использовал Mongoid для работы с MongoDb. Моделька была примерно такая:

class Content::Airport &amp;#60; Content::Place
&amp;#160; field :coordinates, :type =&amp;#62; Array
&amp;#160; field :index, :type =&amp;#62; Integer
&amp;#160; 
&amp;#160; index &amp;#91;&amp;#91; :coordinates, Mongo::GEO2D &amp;#93;&amp;#93;
&amp;#160; 
&amp;#160; referenced_in :parent, :class_name =&amp;#62; 'Content::City', :inverse_of =&amp;#62; :children, :index =&amp;#62; true, :validate =&amp;#62; false
&amp;#160; 
&amp;#160; def city
&amp;#160; &amp;#160; [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1MrPB4ohSG3cyWMqJd_ZukAFM6w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1MrPB4ohSG3cyWMqJd_ZukAFM6w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1MrPB4ohSG3cyWMqJd_ZukAFM6w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1MrPB4ohSG3cyWMqJd_ZukAFM6w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/nouQdj3xLkM" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/08/04/mongoid-dokumenty-i-metod-to_a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/08/04/mongoid-dokumenty-i-metod-to_a/</feedburner:origLink></item>
		<item>
		<title>Кэширование фрагментов HTML кода в шаблонах ActionMailer</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/G-gYc_LJJ4Q/</link>
		<comments>http://memo.undr.su/2011/06/28/keshirovanie-fragmentov-html-koda-v-shablonax-actionmailer/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 10:58:18 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[actionview]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[helpers]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=712</guid>
		<description>Задача: реализовать кэширование фрагментов HTML кода в шаблоне письма для рассылки.

Первое решение которое приходит в голову &amp;#8211; это использовать хелпер cache, например так:

...
&amp;#60;h1&amp;#62;Result has been executed for long time&amp;#60;/h1&amp;#62;

&amp;#60;% cache cache_key do %&amp;#62;
&amp;#160; &amp;#60;div&amp;#62;
&amp;#160; &amp;#60;%= doing_something_long_time_and_show_result %&amp;#62;
&amp;#160; &amp;#60;/div&amp;#62;
&amp;#60;% end %&amp;#62;
...

Но этот способ не работает, так как ActiveMailer не содержит методы для кэширования. И в результате [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hlUnWEhMaF6DJY7g8pk6M7cky5o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hlUnWEhMaF6DJY7g8pk6M7cky5o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hlUnWEhMaF6DJY7g8pk6M7cky5o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hlUnWEhMaF6DJY7g8pk6M7cky5o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/G-gYc_LJJ4Q" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/06/28/keshirovanie-fragmentov-html-koda-v-shablonax-actionmailer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/06/28/keshirovanie-fragmentov-html-koda-v-shablonax-actionmailer/</feedburner:origLink></item>
		<item>
		<title>Просто понравился мультик</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/Q3EeGkuP6wg/</link>
		<comments>http://memo.undr.su/2011/05/05/prosto-ponravilsya-multik/#comments</comments>
		<pubDate>Thu, 05 May 2011 14:28:49 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=698</guid>
		<description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/obNn8XdKdVViuoX_iRkLgN2RfAI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/obNn8XdKdVViuoX_iRkLgN2RfAI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/obNn8XdKdVViuoX_iRkLgN2RfAI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/obNn8XdKdVViuoX_iRkLgN2RfAI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/Q3EeGkuP6wg" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/05/05/prosto-ponravilsya-multik/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/05/05/prosto-ponravilsya-multik/</feedburner:origLink></item>
		<item>
		<title>Что же такое Railtie, Engine и Plugin?</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/cVpge-ptsH0/</link>
		<comments>http://memo.undr.su/2011/04/01/chto-zhe-takoe-railtie-engine-i-plugin/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 20:15:24 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Документация]]></category>
		<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=672</guid>
		<description>Railtie

Railtie &amp;#8211; это ядро фреймворка, обеспечивает возможности для расширения Rails и/или изменения процесса инициализации.

Каждый основной компонент Rails (ActionMailer, ActionController, ActionView, ActiveRecord и ActiveResource) является Railtie, так что каждый из них сам несет ответственность за свою инициализацию. Например, это освобождает Rails от каких-либо привязок к ActiveRecord, позволяя другой ORM работать с Rails.

Создание расширений для Rails не [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2IXLonvZuLGbhhFBf1-S8vqf7_c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2IXLonvZuLGbhhFBf1-S8vqf7_c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2IXLonvZuLGbhhFBf1-S8vqf7_c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2IXLonvZuLGbhhFBf1-S8vqf7_c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/cVpge-ptsH0" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2011/04/01/chto-zhe-takoe-railtie-engine-i-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2011/04/01/chto-zhe-takoe-railtie-engine-i-plugin/</feedburner:origLink></item>
		<item>
		<title>Как тестировать помощники для rails с помощью rspec, использующие методы render(), concat() и capture()?</title>
		<link>http://feedproxy.google.com/~r/Undr/~3/4P1pjSMUeEc/</link>
		<comments>http://memo.undr.su/2010/11/24/kak-testirovat-pomoshhniki-dlya-rails-s-pomoshhyu-rspec-ispolzuyushhie-metody-render-concat-i-capture/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 08:47:25 +0000</pubDate>
		<dc:creator>undr</dc:creator>
				<category><![CDATA[Примеры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[helpers]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://memo.undr.su/?p=632</guid>
		<description>Когда я писал небольшой плагин для rails, добавляющий в приложение возможность быстрого создания javascript вкладок, у меня возникли трудности с тестированием. Методы плагина, которые использовали методы render&amp;#40;&amp;#41;, concat&amp;#40;&amp;#41; и capture&amp;#40;&amp;#41;, невозможно было  нормально протестировать, все время возникали ошибки в самих тестах.



К примеру код:

module TabulatorHelper
&amp;#160; def tabulator&amp;#40;options=&amp;#123;&amp;#125;, &amp;#38;block&amp;#41;
&amp;#160; &amp;#160; partial = options.delete&amp;#40;:partial&amp;#41; &amp;#124;&amp;#124; &amp;#34;shared/tabulator&amp;#34;
&amp;#160; &amp;#160; [...]
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_kSmW3DVW_GGqsEmdFbkeHlNoOA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_kSmW3DVW_GGqsEmdFbkeHlNoOA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_kSmW3DVW_GGqsEmdFbkeHlNoOA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_kSmW3DVW_GGqsEmdFbkeHlNoOA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Undr/~4/4P1pjSMUeEc" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://memo.undr.su/2010/11/24/kak-testirovat-pomoshhniki-dlya-rails-s-pomoshhyu-rspec-ispolzuyushhie-metody-render-concat-i-capture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://memo.undr.su/2010/11/24/kak-testirovat-pomoshhniki-dlya-rails-s-pomoshhyu-rspec-ispolzuyushhie-metody-render-concat-i-capture/</feedburner:origLink></item>
	</channel>
</rss>

