<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Ruby brothers - require_gem VS gem &#8212; &#1085;&#1077; &#1090;&#1072;&#1082;&#1086;&#1081; &#1091;&#1078; &#1080; &#1091;&#1089;&#1090;&#1072;&#1088;&#1077;&#1074;&#1096;&#1080;&#1081; Comments</title>
  <id>tag:rubybrothers.ru,2009:/2007/5/31/require_gem_vs_gem_not_so_obsolete/comments</id>
  <generator version="0.7.3" uri="http://mephistoblog.com">Mephisto Noh-Varr</generator>
  <link href="http://rubybrothers.ru/2007/5/31/require_gem_vs_gem_not_so_obsolete/comments.xml" rel="self" type="application/atom+xml"/>
  <link href="/2007/5/31/require_gem_vs_gem_not_so_obsolete" rel="alternate" type="text/html"/>
  <updated>2007-05-31T14:25:37Z</updated>
  <entry xml:base="http://rubybrothers.ru">
    <author>
      <name>Val</name>
    </author>
    <id>tag:rubybrothers.ru,2007-05-31:219:223</id>
    <published>2007-05-31T14:25:37Z</published>
    <updated>2007-05-31T14:25:37Z</updated>
    <category term="Ruby on Rails"/>
    <link href="http://rubybrothers.ru/2007/5/31/require_gem_vs_gem_not_so_obsolete" rel="alternate" type="text/html"/>
    <title>Comment on 'require_gem VS gem &#8212; &#1085;&#1077; &#1090;&#1072;&#1082;&#1086;&#1081; &#1091;&#1078; &#1080; &#1091;&#1089;&#1090;&#1072;&#1088;&#1077;&#1074;&#1096;&#1080;&#1081;' by Val</title>
<content type="html">&lt;p&gt;@Илья: Я общался по этому поводу с Чадом и Джимом, поскольку это решение сильно испортило нам жизнь, их мотивировка была, что отказ от autoreqiure помог им закрыть кучу bugs связанных с авотматической загрузкой. Честно говоря аргумент мне показался совсем не убедительным.&lt;/p&gt;


	&lt;p&gt;Мы продолжаем пользоваться require_gem, просто засунули в config/boot.rb рельсовых приложений это код:&lt;/p&gt;


	&lt;p&gt;require &#8216;rubygems&#8217;&lt;/p&gt;


	&lt;p&gt;module Kernel&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;def require_gem(gem_name, *version_requirements)&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;active_gem_with_options(gem_name, version_requirements, :auto_require =&amp;gt; true)&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;end&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;end if Gem::RubyGemsVersion.split(&#8217;.&#8217;).map{|v|v.to_i}.extend(Comparable) &amp;gt; [0,9,0]&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://rubybrothers.ru">
    <author>
      <name>&#1048;&#1083;&#1100;&#1103;</name>
    </author>
    <id>tag:rubybrothers.ru,2007-05-31:219:222</id>
    <published>2007-05-31T13:52:05Z</published>
    <updated>2007-05-31T13:52:05Z</updated>
    <category term="Ruby on Rails"/>
    <link href="http://rubybrothers.ru/2007/5/31/require_gem_vs_gem_not_so_obsolete" rel="alternate" type="text/html"/>
    <title>Comment on 'require_gem VS gem &#8212; &#1085;&#1077; &#1090;&#1072;&#1082;&#1086;&#1081; &#1091;&#1078; &#1080; &#1091;&#1089;&#1090;&#1072;&#1088;&#1077;&#1074;&#1096;&#1080;&#1081;' by &#1048;&#1083;&#1100;&#1103;</title>
<content type="html">&lt;p&gt;que Спасибо, исходник то я и сам догадался прочитать. Меня больше интересует почему они отключили auto_require.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://rubybrothers.ru">
    <author>
      <name>Val</name>
    </author>
    <id>tag:rubybrothers.ru,2007-05-31:219:221</id>
    <published>2007-05-31T13:42:23Z</published>
    <updated>2007-05-31T13:42:23Z</updated>
    <category term="Ruby on Rails"/>
    <link href="http://rubybrothers.ru/2007/5/31/require_gem_vs_gem_not_so_obsolete" rel="alternate" type="text/html"/>
    <title>Comment on 'require_gem VS gem &#8212; &#1085;&#1077; &#1090;&#1072;&#1082;&#1086;&#1081; &#1091;&#1078; &#1080; &#1091;&#1089;&#1090;&#1072;&#1088;&#1077;&#1074;&#1096;&#1080;&#1081;' by Val</title>
<content type="html">&lt;p&gt;Единственное отличие gem от require_gem это то, что оно не вызывает autorequire на джемах. Соответсвеннно нужно теперь вызывать самому. Пример для AR:&lt;/p&gt;


	&lt;p&gt;$ gem specification activerecor|grep autorequire
autorequire: active_record
$ irb
&amp;gt;&amp;gt; require &#8216;rubygems&#8217;
=&amp;gt; false
&amp;gt;&amp;gt; require &#8216;active_record&#8217;
=&amp;gt; true
&amp;gt;&amp;gt; ActiveRecord
=&amp;gt; ActiveRecord
&amp;gt;&amp;gt;&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://rubybrothers.ru">
    <author>
      <name>que</name>
    </author>
    <id>tag:rubybrothers.ru,2007-05-31:219:220</id>
    <published>2007-05-31T12:41:08Z</published>
    <updated>2007-05-31T12:41:08Z</updated>
    <category term="Ruby on Rails"/>
    <link href="http://rubybrothers.ru/2007/5/31/require_gem_vs_gem_not_so_obsolete" rel="alternate" type="text/html"/>
    <title>Comment on 'require_gem VS gem &#8212; &#1085;&#1077; &#1090;&#1072;&#1082;&#1086;&#1081; &#1091;&#1078; &#1080; &#1091;&#1089;&#1090;&#1072;&#1088;&#1077;&#1074;&#1096;&#1080;&#1081;' by que</title>
<content type="html">&lt;code&gt;
  def gem(gem_name, *version_requirements)
    active_gem_with_options(gem_name, version_requirements)
  end

  # Same as the +gem+ command, but will also require a file if the gem
  # provides an auto-required file name.
  #
  # DEPRECATED!  Use +gem+ instead.
  #
  def require_gem(gem_name, *version_requirements)
    file, lineno = location_of_caller
    warn &quot;#{file}:#{lineno}:Warning: require_gem is obsolete.  Use gem instead.&quot; 
    active_gem_with_options(gem_name, version_requirements, :auto_require=&amp;gt;true)
  end
&lt;/code&gt;
все дело в :auto_require=&amp;gt;true</content>  </entry>
</feed>

