Ruby Issue Tracking System: Issueshttps://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112023-05-23T15:27:57ZRuby Issue Tracking System
Redmine Ruby master - Bug #19687 (Closed): Should a development version of the standard library be includ...https://bugs.ruby-lang.org/issues/196872023-05-23T15:27:57Zjaruga (Jun Aruga)
<p>The <code>stringio</code> gem uses the value of the <code>STRINGIO_VERSION</code> as the gem version.</p>
<p><a href="https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.gemspec#L15" class="external">https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.gemspec#L15</a><br>
<a href="https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.c#L15" class="external">https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.c#L15</a></p>
<pre><code>#define STRINGIO_VERSION "3.0.7"
</code></pre>
<p>It seems that that <code>stringio</code> on the current master branch in ruby/ruby sets the version 3.0.7 that doesn't exist in the RubyGems <a href="https://rubygems.org/gems/stringio" class="external">https://rubygems.org/gems/stringio</a> by the commit <a href="https://github.com/ruby/ruby/commit/67743d582317544d2c830b63d3423b04bad185a7" class="external">https://github.com/ruby/ruby/commit/67743d582317544d2c830b63d3423b04bad185a7</a>.</p>
<p>And I see that this causes raising an error when running <code>bundle install</code> on ruby/openssl with Ruby on the master branch. I captured the <code>Gemeifile.lock</code> by <code>bundle lock</code>. And I see the <code>rdoc</code> depending on <code>psych</code> depending on <code>stringio</code>.</p>
<p>The workaround was to add <code>gem "stringio", "< 3.0.7"</code> to the <code>Gemfile</code>. However, it's not convenient. Is it an expected behavior? Or should the ruby/ruby always merge the static version of the ruby/* (upstream standard libraries such as "stringio") rater than the development version?</p>
<pre><code>$ which ruby
~/.local/ruby-bd786e7896/bin/ruby
$ ruby -v
ruby 3.3.0dev (2023-05-22T03:58:17Z master bd786e7896) [x86_64-linux]
$ pwd
/home/jaruga/git/ruby/openssl
$ bundle install --standalone
...
stringio-3.0.7 is built in to Ruby, and can't be cached because your Gemfile doesn't have any sources that contain it.
...
Bundler::GemNotFound: Could not find stringio-3.0.7.gem for installation
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/source/rubygems.rb:157:in
`install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/gem_installer.rb:54:in
`install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/parallel_installer.rb:156:in
`do_install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/parallel_installer.rb:147:in
`block in worker_pool'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:62:in `apply_func'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:57:in `block in
process_queue'
<internal:kernel>:187:in `loop'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:54:in `process_queue'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:90:in `block (2
levels) in create_threads'
An error occurred while installing stringio (3.0.7), and Bundler cannot continue.
</code></pre> Ruby master - Bug #19485 (Closed): Unexpected behavior in squiggly heredocshttps://bugs.ruby-lang.org/issues/194852023-03-08T15:24:57Zjemmai (Jemma Issroff)
<p>Based on <a href="https://ruby-doc.org/3.2.1/syntax/literals_rdoc.html" class="external">the squiggly heredoc documentation</a>, I found the following to be unexpected behavior. Explicitly, the documentation specifies, "The indentation of the least-indented line will be removed from each line of the content."</p>
<p>After running:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="no">File</span><span class="p">.</span><span class="nf">write</span><span class="p">(</span><span class="s2">"test.rb"</span><span class="p">,</span> <span class="s2">"p <<~EOF</span><span class="se">\n\t</span><span class="s2">a</span><span class="se">\n</span><span class="s2"> b</span><span class="se">\n</span><span class="s2">EOF</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
</code></pre>
<p>and then <code>ruby test.rb</code>, I get the following output:</p>
<pre><code>"\ta\nb\n"
</code></pre>
<p>The least-indented line above is <code> b</code>, however, no leading whitespace is removed from the line containing <code>\ta</code>.</p>
<p>For another example:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="no">File</span><span class="p">.</span><span class="nf">write</span><span class="p">(</span><span class="s2">"test.rb"</span><span class="p">,</span> <span class="s2">"p <<~EOF</span><span class="se">\n\t</span><span class="s2">A</span><span class="se">\n</span><span class="s2"> </span><span class="se">\t</span><span class="s2">B</span><span class="se">\n</span><span class="s2">EOF</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
</code></pre>
<p><code>ruby test.rb</code> gives:</p>
<pre><code>"A\nB\n"
</code></pre>
<p>In this case, the <code>\t</code> was removed from the line containing <code>A</code>, but more whitespace than that (<code> \t</code>) was removed from the line containing <code>B</code>.</p>
<p>After seeing the first example, I assumed that the documentation was out of date, and that I should fix it to read that <code>\t</code> would never be converted into space characters in order to remove leading whitespace. But after the second example, it seems like this is a bug in removing leading whitespace.</p>
<p>Can someone please explain what the rules should be on squiggly heredocs? I can implement a fix to adhere to the rules, or can update the documentation, I am just unsure of what the rules should be because the above two examples reflect unexpected behavior in two distinct ways.</p> Ruby master - Bug #19402 (Third Party's Issue): CSV skip_lines option not behaving as documentedhttps://bugs.ruby-lang.org/issues/194022023-02-02T17:59:40Zjamie_ca (Jamie Macey)
<p>The <a href="https://ruby-doc.org/stdlib-3.1.0/libdoc/csv/rdoc/CSV.html#class-CSV-label-Option+skip_lines" class="external">CSV documentation</a> for the <code>skip_lines</code> parser option says "If a String, converts it to a Regexp, ignores lines that match it." Application behaviour as well as <a href="https://github.com/ruby/csv/blob/master/lib/csv/parser.rb#L909-L919" class="external">the source</a> appears to be normalizing the string encoding and running a simple substring check instead. Given the existing behaviour, this might just want a documentation update to describe it accurately?</p>
<p>I stumbled across this on a project still on ruby 2.6.9 (<a href="https://ruby-doc.org/stdlib-2.6.1/libdoc/csv/rdoc/CSV.html#method-c-new" class="external">2.6 docs</a>), but it's applicable still at 3.2.0.</p>
<p>Reproduction script:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s1">'csv'</span>
<span class="n">data</span> <span class="o">=</span> <span class="o"><<</span><span class="no">CSV</span><span class="sh">
data,data
test,data
data,test
</span><span class="no">CSV</span>
<span class="nb">puts</span> <span class="s2">"Parsing with regexp skip_lines /^test/, expect 2 rows"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="ss">skip_lines: </span><span class="sr">/^test/</span><span class="p">).</span><span class="nf">each</span> <span class="p">{</span> <span class="o">|</span><span class="n">row</span><span class="o">|</span> <span class="n">pp</span> <span class="n">row</span> <span class="p">}</span>
<span class="nb">puts</span>
<span class="nb">puts</span> <span class="s2">"Parsing with text skip_lines </span><span class="se">\"</span><span class="s2">^test</span><span class="se">\"</span><span class="s2">, expect 2 rows"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="ss">skip_lines: </span><span class="s2">"^test"</span><span class="p">).</span><span class="nf">each</span> <span class="p">{</span> <span class="o">|</span><span class="n">row</span><span class="o">|</span> <span class="n">pp</span> <span class="n">row</span> <span class="p">}</span>
<span class="nb">puts</span>
<span class="nb">puts</span> <span class="s2">"Parsing with unanchored text skip_lines </span><span class="se">\"</span><span class="s2">test</span><span class="se">\"</span><span class="s2">, expect 1 row"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="ss">skip_lines: </span><span class="s2">"test"</span><span class="p">).</span><span class="nf">each</span> <span class="p">{</span> <span class="o">|</span><span class="n">row</span><span class="o">|</span> <span class="n">pp</span> <span class="n">row</span> <span class="p">}</span>
<span class="nb">puts</span>
</code></pre>
<pre><code>$ ruby csv_test.rb
Parsing with regexp skip_lines /^test/, expect 2 rows
["data", "data"]
["data", "test"]
Parsing with text skip_lines "^test", expect 2 rows
["data", "data"]
["test", "data"]
["data", "test"]
Parsing with unanchored text skip_lines "test", expect 1 row
["data", "data"]
</code></pre> Ruby master - Bug #18645 (Third Party's Issue): fiddle.rb assumes wrong file name for glibc share...https://bugs.ruby-lang.org/issues/186452022-03-18T09:17:14Zglaubitz (John Paul Adrian Glaubitz)
<p>On Alpha, the fiddle.rb test fails because the code in helper.rb assumes that the name for the libc shared object file is "libc.so.6" which is not correct for all architectures:</p>
<pre><code>ruby -v: ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [alpha-linux-gnu]
exec ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" --excludes-dir=./test/excludes --name=!/memory_leak/ -v --excludes-dir=debian/tests/excludes/any/ --excludes-dir=debian/tests/excludes/alpha/
/<<PKGBUILDDIR>>/.ext/common/fiddle.rb:61:in `initialize': libc.so.6: cannot open shared object file: No such file or directory (Fiddle::DLError)
from /<<PKGBUILDDIR>>/.ext/common/fiddle.rb:61:in `new'
from /<<PKGBUILDDIR>>/.ext/common/fiddle.rb:61:in `dlopen'
from /<<PKGBUILDDIR>>/.ext/common/fiddle/import.rb:86:in `block in dlload'
from /<<PKGBUILDDIR>>/.ext/common/fiddle/import.rb:77:in `collect'
from /<<PKGBUILDDIR>>/.ext/common/fiddle/import.rb:77:in `dlload'
from /<<PKGBUILDDIR>>/test/fiddle/test_import.rb:12:in `<module:LIBC>'
from /<<PKGBUILDDIR>>/test/fiddle/test_import.rb:10:in `<module:Fiddle>'
from /<<PKGBUILDDIR>>/test/fiddle/test_import.rb:9:in `<top (required)>'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1049:in `require'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1049:in `block in non_options'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1043:in `each'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1043:in `non_options'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:65:in `process_args'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:143:in `process_args'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1237:in `process_args'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1242:in `run'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1249:in `run'
from /<<PKGBUILDDIR>>/tool/test/runner.rb:23:in `<top (required)>'
from ./test/runner.rb:11:in `require_relative'
from ./test/runner.rb:11:in `<main>'
</code></pre>
<p>Full log: <a href="https://buildd.debian.org/status/fetch.php?pkg=ruby3.0&arch=alpha&ver=3.0.3-1&stamp=1647549307&raw=0" class="external">https://buildd.debian.org/status/fetch.php?pkg=ruby3.0&arch=alpha&ver=3.0.3-1&stamp=1647549307&raw=0</a></p>
<p>The code in question is located in test/fiddle/helper.rb:</p>
<pre><code> # Handle musl libc
libc_so, = Dir.glob(File.join(libdir, "libc.musl*.so*"))
if libc_so
libm_so = libc_so
else
# glibc
libc_so = "libc.so.6"
libm_so = "libm.so.6"
end
</code></pre>
<p>On a machine running Linux on Alpha, the filename for the shared library is libc.so.6.1, the same applies for Itanium:</p>
<pre><code>root@alpha-test-01:~# uname -a
Linux alpha-test-01 5.14.0-3-alpha-generic #1 Debian 5.14.12-1 (2021-10-14) alpha GNU/Linux
root@alpha-test-01:~# ls -l /lib/alpha-linux-gnu/libc.so*
-rw-r--r-- 1 root root 273 Feb 21 09:47 /lib/alpha-linux-gnu/libc.so
lrwxrwxrwx 1 root root 12 Feb 21 09:47 /lib/alpha-linux-gnu/libc.so.6.1 -> libc-2.33.so
root@alpha-test-01:~#
</code></pre>
<pre><code>root@yttrium:~# uname -a
Linux yttrium 5.15.0-2-mckinley #1 SMP Debian 5.15.5-1 (2021-11-26) ia64 GNU/Linux
root@yttrium:~# ls -l /lib/ia64-linux-gnu/libc.so*
lrwxrwxrwx 1 root root 12 Jan 26 22:01 /lib/ia64-linux-gnu/libc.so.6.1 -> libc-2.33.so
root@yttrium:~#
</code></pre>
<p>The code in helper.rb should be modified to set the name for libc_so on Alpha and IA64 to "libc.so.6.1".</p> Ruby master - Bug #18638 (Third Party's Issue): CSV parse does not honor field_size_limit option ...https://bugs.ruby-lang.org/issues/186382022-03-16T20:25:12ZCapncavedan (Dan Buettner)
<p>When using CSV.parse or CSV.foreach and specifying option <code>field_size_limit: 2_000</code>, we do not consistently see an exception raised when a field contains over 2,000 characters.</p>
<p>I was finally able to reproduce the issue as occurring only after a comma has occurred within a data field.</p>
<p>I then also found that what could be considered an off-by-one error with respect to "field_size_limit": you need to set a value 1 higher than the maximum field length you want to allow.</p>
<p>This occurs on Ruby 2.7.5 and 3.1.1.</p>
<p>This is a simple ruby script to demonstrate both issues:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="n">the_alphabet</span> <span class="o">=</span> <span class="p">(</span><span class="s2">"a"</span><span class="o">..</span><span class="s2">"z"</span><span class="p">).</span><span class="nf">to_a</span><span class="p">.</span><span class="nf">join</span>
<span class="n">the_alphabet</span><span class="p">.</span><span class="nf">size</span> <span class="c1"># => 26</span>
<span class="c1"># this does not honor field_size_limit; it should raise an exception but does not</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="s2">"</span><span class="se">\"</span><span class="s2">I am a working man</span><span class="se">\"</span><span class="s2">,</span><span class="se">\"</span><span class="si">#{</span><span class="n">the_alphabet</span><span class="si">}</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="ss">field_size_limit: </span><span class="mi">20</span><span class="p">)</span>
<span class="c1"># this raises the proper exception</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="s2">"</span><span class="se">\"</span><span class="s2">I am a workin, man</span><span class="se">\"</span><span class="s2">,</span><span class="se">\"</span><span class="si">#{</span><span class="n">the_alphabet</span><span class="si">}</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="ss">field_size_limit: </span><span class="mi">20</span><span class="p">)</span>
<span class="c1"># this raises a "Field size exceeded" error, even though field size equals field size limit</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="s2">"</span><span class="se">\"</span><span class="s2">I am a workin, man</span><span class="se">\"</span><span class="s2">,</span><span class="se">\"</span><span class="si">#{</span><span class="n">the_alphabet</span><span class="si">}</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="ss">field_size_limit: </span><span class="n">the_alphabet</span><span class="p">.</span><span class="nf">size</span><span class="p">)</span>
<span class="c1"># this works as expected, no exception raised</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="s2">"</span><span class="se">\"</span><span class="s2">I am a workin, man</span><span class="se">\"</span><span class="s2">,</span><span class="se">\"</span><span class="si">#{</span><span class="n">the_alphabet</span><span class="si">}</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="ss">field_size_limit: </span><span class="n">the_alphabet</span><span class="p">.</span><span class="nf">size</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
</code></pre> Ruby master - Bug #18034 (Closed): Segmentation fault fiddle with `--enable-bundled-libffi` and m...https://bugs.ruby-lang.org/issues/180342021-07-09T06:16:34Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<p>I always got a segmentation fault with <code>make test-all TESTS="fiddle"</code> and <code>--enable-bundled-libffi</code> on macOS.</p>
<p><a href="https://gist.github.com/hsbt/9f7dc9f62e9197b92c5a99384972dad3" class="external">https://gist.github.com/hsbt/9f7dc9f62e9197b92c5a99384972dad3</a></p> Ruby master - Bug #17478 (Closed): Ruby3.0 is slower than Ruby2.7.2 when parsing a large CSV filehttps://bugs.ruby-lang.org/issues/174782020-12-27T09:09:47Zokkez (okkez _)
<p>Ruby3.0 is around 10%-20% slower than Ruby2.7.2 when parsing and aggregating a large CSV file.</p>
<p>The script is here:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="n">name_to_cost</span> <span class="o">=</span> <span class="no">Hash</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">foreach</span><span class="p">(</span><span class="no">ARGV</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="ss">headers: </span><span class="kp">true</span><span class="p">)</span> <span class="k">do</span> <span class="o">|</span><span class="n">row</span><span class="o">|</span>
<span class="n">name_to_cost</span><span class="p">[</span><span class="n">row</span><span class="p">[</span><span class="s2">"name"</span><span class="p">]]</span> <span class="o">+=</span> <span class="n">row</span><span class="p">[</span><span class="s2">"cost"</span><span class="p">].</span><span class="nf">to_f</span>
<span class="k">end</span>
<span class="n">name_to_cost</span><span class="p">.</span><span class="nf">sort_by</span> <span class="p">{</span><span class="o">|</span><span class="n">k</span><span class="p">,</span> <span class="n">_</span><span class="o">|</span> <span class="n">k</span> <span class="p">}.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="nb">name</span><span class="p">,</span> <span class="n">cost</span><span class="o">|</span>
<span class="nb">printf</span> <span class="s2">"%s</span><span class="se">\t</span><span class="s2">%.3f</span><span class="se">\n</span><span class="s2">"</span><span class="p">,</span> <span class="nb">name</span><span class="p">,</span> <span class="n">cost</span>
<span class="k">end</span>
</code></pre>
<p>The sample data is like following(3 mega lines and the size is about 235MiB):</p>
<pre><code>id,name,description,cost
2365599605,ysgHDPA,Voluptatem sit perferendis accusantium consequatur aut.,25.115
2365599606,xFLXOtJ,Sit accusantium aut perferendis voluptatem consequatur.,60.228
2365599607,RlkxNQB,Accusantium sit aut consequatur perferendis voluptatem.,79.663
2365599608,YVMbuva,Sit perferendis voluptatem accusantium aut consequatur.,49.863
2365599609,rtxVcDW,Accusantium voluptatem sit perferendis aut consequatur.,50.765
2365599610,rtxVcDW,Aut sit accusantium consequatur perferendis voluptatem.,94.310
2365599611,muDwuke,Consequatur sit accusantium aut perferendis voluptatem.,16.991
2365599612,tkqFWyM,Perferendis sit voluptatem consequatur aut accusantium.,98.753
</code></pre>
<ul>
<li>Ruby2.7.2: 25.37 seconds</li>
<li>Ruby3.0.0: 27.53 seconds</li>
</ul>
<p>I use this program to generate the test CSV file: <a href="https://gist.github.com/okkez/05ffa0df08cf49014f460eb2e8543698" class="external">https://gist.github.com/okkez/05ffa0df08cf49014f460eb2e8543698</a></p>
<p>In case of using another private data:</p>
<ul>
<li>Ruby2.7.2: 31.54 seconds</li>
<li>Ruby3.0.0: 37.15 seconds</li>
</ul>
<p>The private data is like followings:</p>
<ul>
<li>There are 18 columns</li>
<li>There are 1144305 lines</li>
<li>It is 334MiB</li>
</ul> Ruby master - Bug #17430 (Closed): CSV: NoMethodError when the write_nil_value or write_empty_val...https://bugs.ruby-lang.org/issues/174302020-12-23T06:43:08ZSoilent (Konstantin x)
<p>CSV.generate_line throws an exception when I specify <code>write_nil_value</code> or <code>write_nil_value</code>.</p>
<pre><code>> CSV.generate_line [1,nil,3]
=> "1,,3\n"
> CSV.generate_line [1,nil,3], write_nil_value: 'x'
Traceback (most recent call last):
12: from /usr/bin/irb:23:in `<main>'
11: from /usr/bin/irb:23:in `load'
10: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.7/exe/irb:11:in `<top (required)>'
9: from (irb):3
8: from (irb):4:in `rescue in irb_binding'
7: from /usr/lib/ruby/2.7.0/csv.rb:569:in `generate_line'
6: from /usr/lib/ruby/2.7.0/csv.rb:1230:in `<<'
5: from /usr/lib/ruby/2.7.0/csv/writer.rb:44:in `<<'
4: from /usr/lib/ruby/2.7.0/csv/fields_converter.rb:50:in `convert'
3: from /usr/lib/ruby/2.7.0/csv/fields_converter.rb:50:in `with_index'
2: from /usr/lib/ruby/2.7.0/csv/fields_converter.rb:50:in `collect'
1: from /usr/lib/ruby/2.7.0/csv/fields_converter.rb:53:in `block in convert'
NoMethodError (undefined method `empty?' for 1:Integer)
> CSV.generate_line [1,nil,3], write_empty_value: 'x'
NoMethodError (undefined method `empty?' for 1:Integer)
</code></pre> Ruby master - Bug #16628 (Third Party's Issue): CSV.new する時にGzipReaderを渡すとCSV::Parser::InvalidEnc...https://bugs.ruby-lang.org/issues/166282020-02-12T01:31:06Znamayaki3 (山中 裕樹)
<a name="バージョン"></a>
<h2 >バージョン<a href="#バージョン" class="wiki-anchor">¶</a></h2>
<p>ruby 2.6.5</p>
<a name="現象"></a>
<h2 >現象<a href="#現象" class="wiki-anchor">¶</a></h2>
<p>以下のようにCSV.newする時にGZipReaderを渡すとCSV::Parser::InvalidEncodingが出てエラーになります。</p>
<a name="コード"></a>
<h3 >コード<a href="#コード" class="wiki-anchor">¶</a></h3>
<pre><code>gz = Zlib::GzipReader.new(File.open("file/to/path")
CSV.new(gz).each_with_index do |d,i|
~~~ 略 ~~~~
end
</code></pre>
<a name="エラーログ"></a>
<h3 >エラーログ<a href="#エラーログ" class="wiki-anchor">¶</a></h3>
<pre><code>.rbenv/versions/2.6.5/lib/ruby/2.6.0/csv/parser.rb:314:in `rescue in parse': Invalid byte sequence in UTF-8 in line 78512. (CSV::MalformedCSVError)
</code></pre>
<a name="考えられる要因"></a>
<h2 >考えられる要因<a href="#考えられる要因" class="wiki-anchor">¶</a></h2>
<p>csv/parser.rb の202行目でinput.getsする時にchunksizeを指定していますが、この値によって、chunkが変なところで切られているように見えます。<br>
それによって、utf8のバリデーションが失敗し、上記エラーが出ているように見えます。</p>
<p>ruby 2.5系では発生しません。</p> Ruby master - Bug #15967 (Rejected): Two dimensional array which have CSV::Row object returns dif...https://bugs.ruby-lang.org/issues/159672019-06-30T13:34:16Zkota0919wasabi (Kota Osabe)
<p>I posted this issue at stackoverlow below.</p>
<p><a href="https://stackoverflow.com/questions/56821461/two-dimensional-array-which-have-csvrow-object-returns-different-result-in-rub?noredirect=1#comment100198376_56821461" class="external">https://stackoverflow.com/questions/56821461/two-dimensional-array-which-have-csvrow-object-returns-different-result-in-rub?noredirect=1#comment100198376_56821461</a></p>
<p>Two dimensional array has the element which is CSV::Row object like this.</p>
<p>[[csv_row_object]]</p>
<p>I tried to flatten this array and got different result in ruby 2.3 and 2.6.</p>
<p>In the case of Ruby 2.3.8</p>
<pre><code>[1] pry(main)> RUBY_VERSION
=> "2.3.8"
[2] pry(main)> filepath = "/Users/kota/Desktop/test.csv"
=> "/Users/kota/Desktop/test.csv"
[3] pry(main)> data = fixture_file_upload(filepath, "text/csv")
=> #<Rack::Test::UploadedFile:0x00007ffc51843988
@content_type="text/csv",
@original_filename="test.csv",
@tempfile=#<File:/var/folders/95/tnt69fz133z6s0b6tpxy0gqr0000gn/T/test.csv20190630-8692-11zzuh9>>
[4] pry(main)> require 'csv'
=> true
[5] pry(main)> parsed_csv = CSV.parse(data.read, headers:true, converters: nil)
=> #<CSV::Table mode:col_or_row row_count:4>
[6] pry(main)> parsed_csv[0]
=> #<CSV::Row "order_no":"10" "status":"1">
[7] pry(main)> parsed_csv[1]
=> #<CSV::Row "order_no":"20" "status":"1">
[8] pry(main)> parsed_csv[2]
=> #<CSV::Row "order_no":"30" "status":"1">
[9] pry(main)> array = [[parsed_csv[0]],[parsed_csv[1]],[parsed_csv[2]]]
=> [[#<CSV::Row "order_no":"10" "status":"1">], [#<CSV::Row "order_no":"20" "status":"1">], [#<CSV::Row "order_no":"30" "status":"1">]]
[10] pry(main)> array.flatten
=> [#<CSV::Row "order_no":"10" "status":"1">, #<CSV::Row "order_no":"20" "status":"1">, #<CSV::Row "order_no":"30" "status":"1">]
</code></pre>
<p>In the case of Ruby 2.6</p>
<pre><code>[1] pry(main)> RUBY_VERSION
=> "2.6.0"
[2] pry(main)> filepath = "/Users/kota/Desktop/test.csv"
=> "/Users/kota/Desktop/test.csv"
[3] pry(main)> data = fixture_file_upload(filepath, "text/csv")
=> #<Rack::Test::UploadedFile:0x00007fc91d0a0828
@content_type="text/csv",
@original_filename="test.csv",
@tempfile=#<File:/var/folders/95/tnt69fz133z6s0b6tpxy0gqr0000gn/T/test.csv20190630-8971-rjpb5g>>
[4] pry(main)> require 'csv'
=> true
[5] pry(main)> parsed_csv = CSV.parse(data.read, headers:true, converters: nil)
=> #<CSV::Table mode:col_or_row row_count:4>
[6] pry(main)> parsed_csv[0]
=> #<CSV::Row "order_no":"10" "status":"1">
[7] pry(main)> parsed_csv[1]
=> #<CSV::Row "order_no":"20" "status":"1">
[8] pry(main)> parsed_csv[2]
=> #<CSV::Row "order_no":"30" "status":"1">
[9] pry(main)> array = [[parsed_csv[0]],[parsed_csv[1]],[parsed_csv[2]]]
=> [[#<CSV::Row "order_no":"10" "status":"1">], [#<CSV::Row "order_no":"20" "status":"1">], [#<CSV::Row "order_no":"30" "status":"1">]]
[10] pry(main)> array.flatten
=> ["order_no", "10", "status", "1", "order_no", "20", "status", "1", "order_no", "30", "status", "1"]
</code></pre> Ruby master - Bug #15910 (Rejected): $. doesn't hold the linenumber anymore when reading a CSV-fi...https://bugs.ruby-lang.org/issues/159102019-06-10T11:15:38Zrovf (Ronald Fischer)ynnor@mm.st
<p>Example program:</p>
<pre><code>require 'csv'
IFS=';'
CSV_OPTIONS = { col_sep: IFS, external_encoding: Encoding::ISO_8859_1, internal_encoding: Encoding::UTF_8 }
CSV.new($stdin, CSV_OPTIONS).each do
|row|
puts "::::line #{$.} row=#{row}"
end%
</code></pre>
<p>With this program, I could dump a semicolon-delimited CSV file, with line numbers. Now the line number always displays as 0. Has the implementation of CSV changed?</p>
<p>See also <a href="https://stackoverflow.com/questions/56524941/is-special-variable-gone-from-ruby" class="external">https://stackoverflow.com/questions/56524941/is-special-variable-gone-from-ruby</a></p> Ruby master - Bug #15872 (Rejected): CSV.parse omits close call when block is given – intended or...https://bugs.ruby-lang.org/issues/158722019-05-24T09:08:24Zsos4nt (Stefan Schüßler)mail@stefanschuessler.de
<p>The current implementation of <code>CSV.parse</code> doesn't call <code>close</code> when a block is given:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">parse</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
<span class="n">csv</span> <span class="o">=</span> <span class="n">new</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span>
<span class="k">return</span> <span class="n">csv</span><span class="p">.</span><span class="nf">each</span><span class="p">(</span><span class="o">&</span><span class="n">block</span><span class="p">)</span> <span class="k">if</span> <span class="nb">block_given?</span>
<span class="k">begin</span>
<span class="n">csv</span><span class="p">.</span><span class="nf">read</span>
<span class="k">ensure</span>
<span class="n">csv</span><span class="p">.</span><span class="nf">close</span> <span class="c1"># <- never gets here if block is given</span>
<span class="k">end</span>
<span class="k">end</span>
</code></pre>
<p>A possible fix would be:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">parse</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
<span class="n">csv</span> <span class="o">=</span> <span class="n">new</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">block_given?</span>
<span class="n">csv</span><span class="p">.</span><span class="nf">each</span><span class="p">(</span><span class="o">&</span><span class="n">block</span><span class="p">)</span>
<span class="k">else</span>
<span class="n">csv</span><span class="p">.</span><span class="nf">read</span>
<span class="k">end</span>
<span class="k">ensure</span>
<span class="n">csv</span><span class="p">.</span><span class="nf">close</span>
<span class="k">end</span>
</code></pre>
<p>But I'm not sure if this behavior might be intended, given that Ruby's CSV library is quite mature.</p>
<p>Am I missing a use case or is this actually a bug?</p> Ruby master - Bug #15770 (Closed): CSV skip_lines param affects data https://bugs.ruby-lang.org/issues/157702019-04-15T11:21:19Zskyksandr (Aleksandr Kunin)
<p>It works on 2.5.*, but doesn't work on 2.6.*</p>
<pre><code>require 'csv'
require 'date'
counter = 0
CSV.foreach('./05-31-20.CSV', skip_lines: /^[^0-9]{4}/) do |row|
time = row[0]
p time if time.length < 23
counter += 1
end
p "Processed: #{counter} lines"
</code></pre>
<p>And the result is:</p>
<pre><code>"03-09T09:40:04.00Z"
"Processed: 4424 lines"
</code></pre>
<p>So there are two problems:</p>
<ol>
<li>Line 4424 got corrupted by slicing 5 symbols ("2019-")</li>
<li>Not whole file is parsed, total number of lines: <strong>4497</strong>
</li>
</ol>
<p>EDIT:<br>
With regex <code>/^(?![0-9]{4})/</code> in addition to corrupt first field parser hangs in infinite loop.<br>
Stack (to give you an idea where to look to):</p>
<pre><code> 7: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv.rb:509:in `foreach'
6: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv.rb:657:in `open'
5: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv.rb:510:in `block in foreach'
4: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv.rb:1176:in `each'
3: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv/parser.rb:265:in `parse'
2: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv/parser.rb:583:in `skip_needless_lines'
1: from ~/.rbenv/versions/2.6.2/lib/ruby/2.6.0/csv/parser.rb:704:in `parse_row_end'
</code></pre>
<p>EDIT2: the issue is reproducible on <code>3.0.4</code>, but resolved on <code>csv 3.0.9</code></p> Ruby master - Bug #15662 (Closed): Fix CSV delegation to missing StringIOhttps://bugs.ruby-lang.org/issues/156622019-03-13T15:57:07Zgsamokovarov (Genadi Samokovarov)gsamokovarov@gmail.com
<p>If you create a CSV from raw content like:</p>
<pre><code> csv = CSV.new("h1,h2")
</code></pre>
<p>You'll get method missing when calling <code>csv.path</code> but still, get <code>true</code> when you call <code>csv.respond_to?(:path)</code>.</p>
<p>This tricks 3rd party libraries like carrierwave which try to call <code>path</code> on their input if it responds to it.</p>
<p>See <a href="https://github.com/carrierwaveuploader/carrierwave/blob/a91ab69fdd8052cdf5a5e48ef8baf40939e441fb/lib/carrierwave/sanitized_file.rb#L109-L123" class="external">https://github.com/carrierwaveuploader/carrierwave/blob/a91ab69fdd8052cdf5a5e48ef8baf40939e441fb/lib/carrierwave/sanitized_file.rb#L109-L123</a></p>
<p>This stops me from passing CSV objects as StringIO's into carrierwave uploads, for example, but the problem can also be manifested in other 3rd party libraries, as responding to a method and returning a <code>NoMethodError</code> when calling it is still an unexpected behavior.</p>
<p>I have gone through the CSV delegation scheme and made sure that every method that StringIO doesn't respond to returns a meaningful zero value and does not raise a <code>NoMethodError</code> while used through a CSV Instance.</p> Ruby master - Bug #15542 (Third Party's Issue): Segmentation fault when Interrupted on rabbit.gem...https://bugs.ruby-lang.org/issues/155422019-01-16T16:00:29Zemorima (Mayumi Emori)
<p>I previewed my slide using rabbit.gem and stopped by crtl+c...then core dumped.</p>
<p>reproduction scenario</p>
<ul>
<li>gem install rabbit</li>
<li>rabbit REAME.md (and open slide window)</li>
<li>crtl+c #=> segmantaition fault</li>
</ul>
<p>I attached output log and rabbit version is 2.2.1.</p> Ruby master - Bug #15521 (Closed): encoding is missed when using `CSV.generate`https://bugs.ruby-lang.org/issues/155212019-01-10T06:20:59Zsue445 (Go Sueyoshi)
<a name="Sample-code"></a>
<h1 >Sample code<a href="#Sample-code" class="wiki-anchor">¶</a></h1>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="n">rows</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">,</span> <span class="s2">"c"</span><span class="p">,</span> <span class="s2">"d"</span><span class="p">,</span> <span class="s2">"e"</span><span class="p">],</span>
<span class="p">[</span><span class="s2">"あ"</span><span class="p">,</span> <span class="s2">"い"</span><span class="p">,</span> <span class="s2">"う"</span><span class="p">,</span> <span class="s2">"え"</span><span class="p">,</span> <span class="s2">"お"</span><span class="p">],</span>
<span class="p">]</span>
<span class="n">str</span> <span class="o">=</span> <span class="no">CSV</span><span class="p">.</span><span class="nf">generate</span> <span class="k">do</span> <span class="o">|</span><span class="n">csv</span><span class="o">|</span>
<span class="n">rows</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">row</span><span class="o">|</span>
<span class="n">csv</span> <span class="o"><<</span> <span class="n">row</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="nb">p</span> <span class="n">str</span>
<span class="nb">p</span> <span class="n">str</span><span class="p">.</span><span class="nf">encoding</span>
</code></pre>
<a name="Expected-on-Ruby-253"></a>
<h1 >Expected (on Ruby 2.5.3)<a href="#Expected-on-Ruby-253" class="wiki-anchor">¶</a></h1>
<pre><code>$ ruby csv_generate.rb
"a,b,c,d,e\nあ,い,う,え,お\n"
#<Encoding:UTF-8>
</code></pre>
<a name="Actual-on-Ruby-260"></a>
<h1 >Actual (on Ruby 2.6.0)<a href="#Actual-on-Ruby-260" class="wiki-anchor">¶</a></h1>
<pre><code>$ ruby csv_generate.rb
"a,b,c,d,e\n\xE3\x81\x82,\xE3\x81\x84,\xE3\x81\x86,\xE3\x81\x88,\xE3\x81\x8A\n"
#<Encoding:ASCII-8BIT>
</code></pre>
<p>This behavior is same to ruby-trunk</p>
<pre><code>$ ruby -v
ruby 2.7.0dev (2019-01-10 trunk 66768) [x86_64-darwin17]
</code></pre>
<a name="Workaround"></a>
<h1 >Workaround<a href="#Workaround" class="wiki-anchor">¶</a></h1>
<p>Use <code>force_encoding</code></p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="n">rows</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">,</span> <span class="s2">"c"</span><span class="p">,</span> <span class="s2">"d"</span><span class="p">,</span> <span class="s2">"e"</span><span class="p">],</span>
<span class="p">[</span><span class="s2">"あ"</span><span class="p">,</span> <span class="s2">"い"</span><span class="p">,</span> <span class="s2">"う"</span><span class="p">,</span> <span class="s2">"え"</span><span class="p">,</span> <span class="s2">"お"</span><span class="p">],</span>
<span class="p">]</span>
<span class="n">str</span> <span class="o">=</span> <span class="no">CSV</span><span class="p">.</span><span class="nf">generate</span> <span class="k">do</span> <span class="o">|</span><span class="n">csv</span><span class="o">|</span>
<span class="n">rows</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">row</span><span class="o">|</span>
<span class="n">csv</span> <span class="o"><<</span> <span class="n">row</span>
<span class="k">end</span>
<span class="k">end</span><span class="p">.</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s2">"UTf-8"</span><span class="p">)</span>
<span class="nb">p</span> <span class="n">str</span>
<span class="nb">p</span> <span class="n">str</span><span class="p">.</span><span class="nf">encoding</span>
</code></pre>
<p>This works, but little dirty...</p> Ruby master - Bug #15388 (Closed): CSV parsing behaviour in > 2.5.0https://bugs.ruby-lang.org/issues/153882018-12-06T17:47:09Zdharshandj@gmail.com (Dharshan Bharathuru)
<p>Hi,</p>
<p>It seems like CSV library in 2.5.0 is not behaving as intended while parsing.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">header</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"B"</span><span class="p">,</span> <span class="s2">"C"</span><span class="p">,</span> <span class="s2">"D"</span><span class="p">,</span> <span class="s2">"E"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">,</span> <span class="s2">"G"</span><span class="p">,</span> <span class="s2">"H"</span><span class="p">,</span> <span class="s2">"I"</span><span class="p">,</span> <span class="s2">"J"</span><span class="p">,</span> <span class="s2">"K"</span><span class="p">,</span> <span class="s2">"L"</span><span class="p">,</span> <span class="s2">"M"</span><span class="p">,</span> <span class="s2">"N"</span><span class="p">,</span> <span class="s2">"O"</span><span class="p">,</span> <span class="s2">"P"</span><span class="p">,</span> <span class="s2">"Q"</span><span class="p">]</span>
<span class="n">csv_str</span> <span class="o">=</span> <span class="s2">"10.4710|859.5170|9000.0000|Y||0.0000||NRM|0||||N|Y|P|NRM|</span><span class="se">\r\n</span><span class="s2">11.4710|869.5170|9000.0000|Y||0.0000||NRM|0||||N|Y|P|NRM|</span><span class="se">\r\n</span><span class="s2">"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">csv_str</span><span class="p">,</span> <span class="ss">col_sep: </span><span class="s1">'|'</span><span class="p">,</span> <span class="ss">write_headers: </span><span class="kp">true</span><span class="p">,</span> <span class="ss">headers: </span><span class="n">header</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="c1"># produces junk</span>
<span class="c1"># #<CSV::Row "A":"0" "B":nil "C":"NRM" "D":"0" "E":nil "F":nil "G":nil "H":"N" "I":"Y" "J":"P" "K":"NRM" "L":nil "M":nil "N":nil "O":nil "P":nil "Q":nil></span>
</code></pre>
<p>But without <code>write_headers</code> option it produces correct parsing.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">csv_str</span><span class="p">,</span> <span class="ss">col_sep: </span><span class="s1">'|'</span><span class="p">,</span> <span class="ss">headers: </span><span class="n">header</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="c1"># #<CSV::Row "A":"10.4710" "B":"859.5170" "C":"9000.0000" "D":"Y" "E":nil "F":"0.0000" "G":nil "H":"NRM" "I":"0" "J":nil "K":nil "L":nil "M":"N" "N":"Y" "O":"P" "P":"NRM" "Q":nil></span>
</code></pre> Ruby master - Bug #15058 (Closed): REXML::Text#clone returns a text node with a double escaped Stinghttps://bugs.ruby-lang.org/issues/150582018-09-02T09:25:46Zrna (Ryosuke Nanba)
<p><code>REXML::Text#clone</code> で生成したオブジェクトが元のオブジェクトと異なる値を持ったテキストノードになります。clone されたテキストノードの <code>to_s</code> の値は、元のテキストノードが表現する文字列を二重にエスケープしたものになります。</p>
<p>例:</p>
<pre><code>require 'rexml/document'
t = REXML::Text.new("&lt; <", false, nil, false)
t2 = t.clone
t.to_s # => "&amp;lt; &lt;"
t2.to_s # => "&amp;amp;lt; &amp;lt; (expected: "&amp;lt; &lt;")
t == t2 # => false (expected: true)
</code></pre>
<p>clone したテキストノードの値は元のテキストノードと同じ値になるべきです。</p> Ruby master - Bug #15057 (Rejected): REXML::Text#value returns a double unescaped string in non-r...https://bugs.ruby-lang.org/issues/150572018-09-02T09:22:50Zrna (Ryosuke Nanba)
<p><code>REXML::Text</code> オブジェクトが非rawモードの場合、<code>REXML::Text#value</code> がエスケープ済みのテキストを二重にエスケープ解除された文字列を返します。</p>
<p>例:</p>
<pre><code>require 'rexml/document'
t = REXML::Text.new("&lt; <", false, nil, false)
t.to_s # => "&amp;lt; &lt;"
t.value # => "< <" (expected: "&lt; <")
</code></pre>
<p><code>REXML::Text#value</code> のコメントに以下のような記述があるため、上の挙動は期待通りのように見えますが、このコメントそのものが誤りだと思います。</p>
<pre><code> # t = Text.new( "< & &s; russell", false, nil, false )
# t.value #-> "< & sean russell"
</code></pre>
<p>非rawモードではコンストラクタの第一引数に渡された文字列はテキストノードが表す文字列そのものを意味するはずです。上で渡された文字列中の "&s;" は実体参照ではなく単なる3文字のテキストを意味します。<code>t.value</code> は "< & &s; russell" であるべきだと思います。</p> Ruby master - Bug #14600 (Closed): test-all & REXML - fixuphttps://bugs.ruby-lang.org/issues/146002018-03-13T15:03:15ZMSP-Greg (Greg L)
<p>First of all, thanks to <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/4">@nobu (Nobuyoshi Nakada)</a> for 62738, a quick look shows that the variance in test count for both Travis & Appveyor is much smaller (or non-existent) than before.</p>
<p>Anyway, the main test patch that is still in Ruby-loco is a patch for REXML.</p>
<p>A link to the file is <a href="https://github.com/MSP-Greg/ruby-loco/blob/master/patches/test-rexml.patch" class="external">https://github.com/MSP-Greg/ruby-loco/blob/master/patches/test-rexml.patch</a>, I've attached also.</p>
<p>I did the patch quite a while ago, so it's not quite 'front and center' in my mind. I was active in XML back when it was still being standardized and all the parsers were "don't try this at home". As I recall, the tests and their expectations are embedded in xml docs, idea being that any platform can run them. Something wasn't quite finished, which is why there's a increase in assertions of 215 after the patch is applied.</p>
<pre><code>428 tests, 2650 assertions, 0 failures, 0 errors, 0 skips - Test results before patch
417 tests, 2865 assertions, 0 failures, 0 errors, 0 skips - Test results after
</code></pre>
<p>Thanks again, Greg</p> Ruby master - Bug #14482 (Closed): headerが重複したCSVをheaders:trueでparseした場合、row.to_h[key] と row[key]...https://bugs.ruby-lang.org/issues/144822018-02-16T11:50:10Ztompng (tomoya ishida)tomoyapenguin@gmail.com
<p>1行目に重複したkeyがあるcsvファイルをheaders: trueでparseした場合、<br>
row[key]とrow.to_h[key]が異なる値を返します。</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s1">'csv'</span>
<span class="n">invalid_header_csv</span> <span class="o">=</span> <span class="s2">"id,name,name</span><span class="se">\n</span><span class="s2">1,ichiro,ICHIRO</span><span class="se">\n</span><span class="s2">2,jack,JACK"</span>
<span class="n">rows</span> <span class="o">=</span> <span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span> <span class="n">invalid_header_csv</span><span class="p">,</span> <span class="ss">headers: </span><span class="kp">true</span>
<span class="nb">puts</span> <span class="n">rows</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s1">'name'</span><span class="p">]</span> <span class="c1">#=> ichiro</span>
<span class="nb">puts</span> <span class="n">rows</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nf">to_h</span><span class="p">[</span><span class="s1">'name'</span><span class="p">]</span> <span class="c1">#=> ICHIRO</span>
</code></pre>
<p>ドキュメントには</p>
<pre><code>to_hash -> Hash
自身をシンプルなハッシュに変換します。
フィールドの順序は無視されます。 重複したフィールドは削除されます。
</code></pre>
<p>とありますが、削除されるフィールドとrow[key]で無視されるフィールドは一致している方が良いのではないかと思います。</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">class</span> <span class="nc">CSV::Row</span>
<span class="k">def</span> <span class="nf">to_h</span>
<span class="n">headers</span><span class="p">.</span><span class="nf">uniq</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="o">|</span><span class="n">key</span><span class="o">|</span> <span class="p">[</span><span class="n">key</span><span class="p">,</span> <span class="nb">self</span><span class="p">[</span><span class="n">key</span><span class="p">]]</span> <span class="p">}.</span><span class="nf">to_h</span>
<span class="k">end</span>
<span class="kp">alias_method</span> <span class="ss">:to_hash</span><span class="p">,</span> <span class="ss">:to_h</span>
<span class="k">end</span>
</code></pre> Ruby master - Bug #14253 (Closed): CSV.generate doesn't wrap a string anymorehttps://bugs.ruby-lang.org/issues/142532017-12-28T02:55:49Zahorek (Pavel Rosický)
<p>linking with: <a href="https://github.com/ruby/csv/pull/13/files" class="external">https://github.com/ruby/csv/pull/13/files</a></p> Ruby master - Bug #14127 (Rejected): (CSV) generating UTF-16LE encoded file without BOMhttps://bugs.ruby-lang.org/issues/141272017-11-22T20:38:00Zlaykou (Ladislav Gallay)
<p>This file should contain BOM information so that it is properly detected as UTF-16LE file.</p>
<p>How to generate such file:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">file</span> <span class="o">=</span> <span class="no">CSV</span><span class="p">.</span><span class="nf">generate</span><span class="p">(</span><span class="ss">encoding: </span><span class="s1">'UTF-16LE'</span><span class="p">)</span> <span class="k">do</span> <span class="o">|</span><span class="n">csv</span><span class="o">|</span>
<span class="n">csv</span> <span class="o"><<</span> <span class="p">[</span><span class="s1">'something'</span><span class="p">,</span> <span class="s1">'ľščťžýáíé'</span><span class="p">]</span>
<span class="k">end</span>
</code></pre>
<p>According to <code>file -I file.csv</code> this file is recognized as <code>application/octet-stream; charset=binary</code> because it is missing the BOM information.</p>
<p>According to Wikipedia <a href="https://en.wikipedia.org/wiki/UTF-16" class="external">https://en.wikipedia.org/wiki/UTF-16</a> it should contain "\xFF\xFE" on the beginning of the document so that everyone knows iths UTF-16LE.</p>
<p>Here is someone trying to fix this in the similiar way: <a href="https://stackoverflow.com/a/22950912/1632815" class="external">https://stackoverflow.com/a/22950912/1632815</a> I did it: manually adding that BOM information.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="c1">## Adds BOM, albeit in a somewhat hacky way.</span>
<span class="n">new_html_file</span> <span class="o">=</span> <span class="no">File</span><span class="p">.</span><span class="nf">open</span><span class="p">(</span><span class="n">foo</span><span class="p">.</span><span class="nf">txt</span><span class="p">,</span> <span class="s2">"w:UTF-8"</span><span class="p">)</span>
<span class="n">new_html_file</span> <span class="o"><<</span> <span class="s2">"</span><span class="se">\xFF\xFE</span><span class="s2">"</span><span class="p">.</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s1">'utf-16le'</span><span class="p">)</span> <span class="o">+</span> <span class="n">some_text</span><span class="p">.</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">).</span><span class="nf">encode</span><span class="p">(</span><span class="s1">'utf-16le'</span><span class="p">)</span>
</code></pre> Ruby master - Bug #14093 (Rejected): REXML doesn't implement name() and interprets nam() as an el...https://bugs.ruby-lang.org/issues/140932017-11-08T20:03:52Zjcavalieri (John Cavalieri)
<p>Please see the attached script.</p>
<p>Considering this xml:</p>
<pre><code class="xml syntaxhl" data-language="xml"><span class="nt"><a><b><name/></b></a></span>
</code></pre>
<p>The xpath <code>/a/b/name()</code> xpath should return the name of element <code>a</code>. Instead it returns the child element <code>name</code>.</p>
<p>Output:</p>
<pre><code class="xml syntaxhl" data-language="xml"><span class="nt"><name/></span>
</code></pre> Ruby master - Feature #13706 (Closed): Allow CSV#delete to delete multiple columns or add #delete...https://bugs.ruby-lang.org/issues/137062017-07-02T09:08:37Zwowinter13 (Vladislav Dyachenko)vla-dy@yandex.ru
<p>I duplicated the main report message from this PR: <a href="https://github.com/ruby/csv/pull/4" class="external">https://github.com/ruby/csv/pull/4</a><br>
The basic idea is that now we can delete only one column using #delete</p>
<p><code>csv_table.delete("PassengerId") csv_table.delete("Survived") csv_table.delete("Name") csv_table.to_csv</code></p>
<p>The best working way for me to do it with multiple columns:<br>
<code> to_del = ["Name", "Ticket"] csv_table = datus.by_col!.delete_if { |name, values| !to_del.include? name}</code></p>
<p>But maybe it should work like this?<br>
<code> to_del = ["Name", "Ticket"] data.delete(to_del)</code></p> Ruby master - Bug #13636 (Closed): REXML::Document.parse_stream doesn't handle when closing tag n...https://bugs.ruby-lang.org/issues/136362017-06-06T21:35:39Zfanantoxa (Anton Sivakov)
<p>I've tried to use REXML for parsing but got unexpected behavior:</p>
<p>Here is example:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s1">'rexml/document'</span>
<span class="nb">require</span> <span class="s1">'rexml/streamlistener'</span>
<span class="k">class</span> <span class="nc">Handler</span> <span class="kp">include</span> <span class="no">REXML</span><span class="o">::</span><span class="no">StreamListener</span> <span class="k">end</span>
<span class="n">xml1</span> <span class="o">=</span> <span class="no">StringIO</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="s2">"<body><item>test</item></body>"</span><span class="p">)</span>
<span class="n">xml2</span> <span class="o">=</span> <span class="no">StringIO</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="s2">"<body><item>test</body>"</span><span class="p">)</span>
<span class="n">xml3</span> <span class="o">=</span> <span class="no">StringIO</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="s2">"<body><item>test</item>"</span><span class="p">)</span>
<span class="n">handler</span> <span class="o">=</span> <span class="no">Handler</span><span class="p">.</span><span class="nf">new</span>
<span class="no">REXML</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">parse_stream</span><span class="p">(</span><span class="n">xml1</span><span class="p">,</span> <span class="n">handler</span><span class="p">)</span> <span class="c1"># => nil</span>
<span class="no">REXML</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">parse_stream</span><span class="p">(</span><span class="n">xml2</span><span class="p">,</span> <span class="n">handler</span><span class="p">)</span> <span class="c1"># => REXML::ParseException: Missing end tag for 'item' (got "body")</span>
<span class="no">REXML</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">parse_stream</span><span class="p">(</span><span class="n">xml3</span><span class="p">,</span> <span class="n">handler</span><span class="p">)</span> <span class="c1"># => nil</span>
</code></pre>
<p>Actualy XML: "</p>test" is broken so it's expected to get:
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="no">REXML</span><span class="o">::</span><span class="no">ParseException</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span> <span class="s2">"Missing end tag for body"</span><span class="p">)</span>
</code></pre>
<p>I can't rely on REXML parse since I'm not getting exception when XML data structure not valid.</p> Ruby master - Bug #13531 (Closed): RSS: a feed with empty channel description has completely empt...https://bugs.ruby-lang.org/issues/135312017-05-01T17:30:09Zmala (stefano frabetti)
<p>With the rss standard library, a feed with <strong>empty channel description</strong> is correctly parsed, but its conversion to xml (<code>#to_xml</code>) results in an <strong>empty string</strong>.</p>
<p>(The expected result being a string representation of the full xml tree of the feed.)</p>
<p>A feed showing the problem (as of today) is at <code>http://www.giornalettismo.com/feed/</code>. It is valid, checked with the W3C validator.</p> Ruby master - Feature #12839 (Closed): CSV - Give not nil but empty strings for empty fieldshttps://bugs.ruby-lang.org/issues/128392016-10-14T05:45:14Z5.5 (5 5)
<p>The CSV parser gives nil for empty fields.</p>
<pre><code class="rb syntaxhl" data-language="rb"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="sx">%|,""|</span><span class="p">)</span> <span class="c1">#=> [[nil, ""]]</span>
</code></pre>
<p>The above behavior maybe be suitable for certain programmers, but I hope to get <code>[["", ""]]</code>.</p>
<p>So I had used to write the following code reluctantly till Ruby 2.1:</p>
<pre><code class="rb syntaxhl" data-language="rb"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="sx">%|,""|</span><span class="p">,</span> <span class="ss">converters: </span><span class="nb">lambda</span><span class="p">{</span><span class="o">|</span><span class="n">v</span><span class="o">|</span> <span class="n">v</span> <span class="o">||</span> <span class="s2">""</span><span class="p">})</span>
<span class="c1">#=> [["", ""]]</span>
</code></pre>
<p>It is wasteful, but certainly works for my purpose.</p>
<p>However, because of <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: CSV field converters doesn't attempt to convert nil value. (Closed)" href="https://bugs.ruby-lang.org/issues/11126">#11126</a>, the above code does not work from Ruby 2.2.<br>
(Converters are not called for nil)</p>
<p>I merely want an option, which makes the CSV parser give empty strings for empty fields.</p>
<p>Namely,</p>
<pre><code class="rb syntaxhl" data-language="rb"><span class="nb">require</span> <span class="s2">"csv"</span>
<span class="no">CSV</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="sx">%|,""|</span><span class="p">,</span> <span class="ss">string: </span><span class="kp">true</span><span class="p">)</span> <span class="c1">#=> [["", ""]]</span>
</code></pre> Ruby master - Bug #12773 (Closed): useless lines in lib/rss/rss.rbhttps://bugs.ruby-lang.org/issues/127732016-09-18T10:31:12Zznz (Kazuhiro NISHIYAMA)
<p><code>lib/rss/rss.rb</code> に</p>
<pre><code> attr = attr.id2name if attr.kind_of?(Integer)
</code></pre>
<p>という行が複数ありますが、<code>Fixnum#id2name</code> はもうないので、不要なのではないでしょうか。</p> Ruby master - Feature #12637 (Rejected): Unified and consistent method naming for safe and danger...https://bugs.ruby-lang.org/issues/126372016-07-29T19:04:11Zr.smitala (Radovan Smitala)
<p>Hello,</p>
<p>As a multi-paradign language allows programmers to code from imperative to functional style. This gives Ruby to be modern and wide used language in these days.<br>
Ruby is built on idea to be as fun, understandable and focused for people.</p>
<p>But i think it carry "complicated behaviour" in some method naming.</p>
<p>In this documentation is written: (<a href="http://docs.ruby-lang.org/en/trunk/syntax/methods_rdoc.html" class="external">http://docs.ruby-lang.org/en/trunk/syntax/methods_rdoc.html</a>)</p>
<blockquote>
<p>The bang methods (! at the end of method name) are called and executed just like any other method. However, by convention, a method with an exclamation point or bang is considered dangerous. In ruby core library the dangerous method implies that when a <strong>method ends with a bang (!), it indicates that unlike its non-bang equivalent, permanently modifies its receiver</strong>. <strong>Almost always</strong>, ruby core library will have a non-bang counterpart (method name which does NOT end with !) of every bang method (method name which does end with !) that does not modify the receiver. This convention is typically true for ruby core library but may or may not hold true for other ruby libraries.</p>
</blockquote>
<p>Hightlited part of citation talks about that method with exclamation mark modifies its receiver. What is good because i could choose between imperative habit and modify receiver, but i can also create new data and code in functional habit.</p>
<p>Eg: i can create new array with <strong>map</strong> method, but always i can modify existed object with <strong>map!</strong>. What is incredible and easy to understand.<br>
Or i want to get unique values from array by <strong>uniq</strong> assign into new variable. Still it is able to modify origin array with <strong>uniq!</strong></p>
<p>Second highlighted part is about confused part. It tells to programmer be careful. Not all methods follows this great design.<br>
In Ruby are methods which are "inconsistent" in naming.</p>
<p>Eg. Many built-in Array methods like</p>
<ul>
<li>clear</li>
<li>concat</li>
<li>delete</li>
<li>delete_at</li>
<li>delete_if</li>
<li>fill</li>
<li>insert</li>
<li>keep_if</li>
<li>pop</li>
<li>push</li>
<li>replace</li>
<li>shift</li>
<li>unshift<br>
are dangerous because modify its receiver. What is confusing for many programmers and it brings unexceptional behaviour without study documentation deeper.</li>
</ul>
<p>I think Ruby is popular for people because it communicate with programmer like in human language.<br>
Nowadays are getting functional programming languages high popularity and trend increase more and more.</p>
<p>It could be great to remove that one word ("Almost") and have Ruby as language more clear, unambiguous and brings more functional principles into language what we like and love.</p> Ruby master - Bug #12609 (Closed): rexml attribute class is using "e instead of " when re...https://bugs.ruby-lang.org/issues/126092016-07-21T18:23:20Zjmarrero (Joseph Marrero)
<p>lib/rexml/attribute.rb to_string method is using &quote instead of &quot when replacing double quotes.</p>
<p><a href="https://www.w3.org/standards/xml/core" class="external">https://www.w3.org/standards/xml/core</a></p>
<p>States:<br>
" In XML, there are only five built-in character entities: <, >, &, " and ' for <, >, &, " and ' respectively. "</p>
<p>Notice it is &quot and not &quote</p>
<p>Also here is an exaple (<a href="http://www.w3schools.com/xml/xml_attributes.asp" class="external">http://www.w3schools.com/xml/xml_attributes.asp</a>) on how to use quotes, notice ", ' and &quot are mentioned not &quote this follows the above spec.</p>
<p>The included patch fixes the simple issue.</p> Ruby master - Feature #12267 (Rejected): REXML Authoring constants are unwanted (or clash) when m...https://bugs.ruby-lang.org/issues/122672016-04-11T20:07:41ZDanRathbun (Dan Rathbun)danzoid61@gmail.com
<p>The following file can be added, OR it's contents pasted into "rexml/rexml.rb". Basically it renames the authoring constants defined in "rexml/rexml.rb", with a "REXML_" prefix. But it only does so when REXML module is mixed into some other class or module namespace.</p>
<pre><code># -*- encoding: utf-8 -*-
# frozen_string_literal: false
#
# "rexml_mixin.rb" : include() and prepend() control
require "rexml/rexml.rb"
module REXML
###
#
# When mixing the REXML module into other classes and modules,
# RENAME the 6 constants declared in "rexml/rexml.rb", because they
# will likely conflict with the "mixee"'s constants of same name.
#
###
def self::append_features(mod)
[:COPYRIGHT,:DATE,:VERSION,:REVISION,:Copyright,:Version].each {|id|
const_set( "REXML_#{id.to_s}", REXML.const_get(id) )
remove_const(id)
}
super(mod)
end
def self::prepend_features(mod)
[:COPYRIGHT,:DATE,:VERSION,:REVISION,:Copyright,:Version].each {|id|
const_set( "REXML_#{id.to_s}", REXML.const_get(id) )
remove_const(id)
}
super(mod)
end
### Do not think these constants need renaming for extend_object().
end
</code></pre> Ruby master - Bug #12044 (Closed): net/ftp.rb: add NullSocket#closed? to fix closing not yet open...https://bugs.ruby-lang.org/issues/120442016-02-01T22:52:37Zantstorm (Anthony Dmitriyev)
<p>Hi there,</p>
<p>I've opened a PR for this issue on GitHub: <a href="https://github.com/ruby/ruby/pull/1232" class="external">https://github.com/ruby/ruby/pull/1232</a></p>
<p>An instance of <code>NullSocket</code> is stored in a <code>@sock</code> variable of a new <code>Net::FTP</code>, it also has a <code>#close</code> method (that obviously does nothing), but it is never called, because a wrapping <code>Net::FTP#close</code> checks that <code>@sock and not @sock.closed?</code> which crashes with <code>FTPConnectionError</code> because there is no method <code>#closed?</code> on <code>NullSocket</code>. This PR adds it and a test to verify that it works.</p>
<p>Below is the way to reproduce the error in the IRB. As you can see it's quite confusing, you'd expect <code>#closed?</code> not to raise an error, but return <code>true</code> instead.</p>
<pre><code>>> ftp = Net::FTP.new
=> #<Net::FTP:0x007f90c38075e0 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x007f90c3807590>, @binary=true, @passive=true, @debug_mode=false, @resume=false, @sock=#<Net::FTP::NullSocket:0x007f90c3807568>, @logged_in=false, @open_timeout=nil, @read_timeout=60>
>> ftp.close
Net::FTPConnectionError: not connected
from /usr/local/var/rbenv/versions/2.3.0/lib/ruby/2.3.0/net/ftp.rb:1277:in `method_missing'
from /usr/local/var/rbenv/versions/2.3.0/lib/ruby/2.3.0/net/ftp.rb:1168:in `close'
from (irb):6
from /usr/local/var/rbenv/versions/2.3.0/bin/irb:11:in `<main>'
>> ftp.closed?
Net::FTPConnectionError: not connected
from /usr/local/var/rbenv/versions/2.3.0/lib/ruby/2.3.0/net/ftp.rb:1277:in `method_missing'
from /usr/local/var/rbenv/versions/2.3.0/lib/ruby/2.3.0/net/ftp.rb:1184:in `closed?'
from (irb):7
from /usr/local/var/rbenv/versions/2.3.0/bin/irb:11:in `<main>'
</code></pre> Ruby master - Bug #11579 (Closed): Fiddle.win32_last_error after calling Fiddle::Function#call is...https://bugs.ruby-lang.org/issues/115792015-10-10T11:42:03Zcremno (cremno phobia)
<p>The current source code is:</p>
<pre><code class="c syntaxhl" data-language="c"> <span class="n">rb_funcall</span><span class="p">(</span><span class="n">mFiddle</span><span class="p">,</span> <span class="n">rb_intern</span><span class="p">(</span><span class="s">"last_error="</span><span class="p">),</span> <span class="mi">1</span><span class="p">,</span> <span class="n">INT2NUM</span><span class="p">(</span><span class="n">errno</span><span class="p">));</span>
<span class="cp">#if defined(_WIN32)
</span> <span class="n">rb_funcall</span><span class="p">(</span><span class="n">mFiddle</span><span class="p">,</span> <span class="n">rb_intern</span><span class="p">(</span><span class="s">"win32_last_error="</span><span class="p">),</span> <span class="mi">1</span><span class="p">,</span> <span class="n">INT2NUM</span><span class="p">(</span><span class="n">errno</span><span class="p">));</span>
<span class="cp">#endif
</span></code></pre>
<p>I guess this is a copy-and-paste mistake and not the intended behavior. The attached patch is untested.</p> Ruby master - Bug #11564 (Third Party's Issue): Segementation fault while doing rake db:migratehttps://bugs.ruby-lang.org/issues/115642015-10-02T09:52:05Zritesh@blogvault.net (ritesh soni)ritesh@blogvault.net
<p>I am using ruby<br>
ruby 2.1.7p400 (2015-08-18 revision 51632) [x86_64-linux]<br>
rails: Rails 3.2.13</p>
<p>I recently upgraded from ruby 2.0.0 to ruby 2.1.7,<br>
now when I am trying to do rake db:migrate</p>
<p>I am getting a segmentation fault.</p> Ruby master - Bug #11489 (Closed): XMLRPC client cannot alter SSL options for _async callshttps://bugs.ruby-lang.org/issues/114892015-08-26T22:26:44Zakostadinov (Aleksandar Kostadinov)akostadinov@gmail.com
<p>In relation to <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Easy way to disable certificate checking in XMLRPC::Client (Closed)" href="https://bugs.ruby-lang.org/issues/8461">#8461</a><br>
It's now easy to set SSL options like <code>ca_path</code> but doing an <code>_async</code> call creates a new connection without these options present.</p>
<p>I think SSL options should be configurable in the xmlrpc client itself and it pass them down to whatever HTTP connections are later created.</p> Ruby master - Bug #11385 (Rejected): `==` with bidirectional/cyclic dependencyhttps://bugs.ruby-lang.org/issues/113852015-07-22T02:54:11Zallenwq (Allen Wang)rovingbreeze@gmail.com
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">class</span> <span class="nc">Something</span>
<span class="nb">attr_accessor</span> <span class="ss">:friend</span>
<span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="n">friend</span><span class="p">)</span>
<span class="nb">self</span><span class="p">.</span><span class="nf">friend</span> <span class="o">=</span> <span class="n">friend</span>
<span class="k">end</span>
<span class="k">def</span> <span class="nf">==</span><span class="p">(</span><span class="n">other</span><span class="p">)</span>
<span class="n">friend</span> <span class="o">==</span> <span class="n">other</span><span class="p">.</span><span class="nf">friend</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="n">a</span> <span class="o">=</span> <span class="no">Something</span><span class="p">.</span><span class="nf">new</span><span class="p">([])</span>
<span class="n">b</span> <span class="o">=</span> <span class="no">Something</span><span class="p">.</span><span class="nf">new</span><span class="p">([</span><span class="n">a</span><span class="p">])</span>
<span class="n">a</span><span class="p">.</span><span class="nf">friend</span> <span class="o">=</span> <span class="p">[</span><span class="n">b</span><span class="p">]</span>
<span class="n">a</span> <span class="o">==</span> <span class="n">b</span>
</code></pre>
<p>The above code returns true on OS X and Linux, by right it should give me a exception of stack level too deep.</p>
<p>( And on windows I can see the expected exception )</p> Ruby master - Bug #11341 (Third Party's Issue): Rails server command is not working finehttps://bugs.ruby-lang.org/issues/113412015-07-09T16:59:37ZEshVal (Esh Val)vallurupallieswar@gmail.com
<p>I wanted to run the rails server command and it's showing some log and it is crashed.</p> Ruby master - Bug #11303 (Third Party's Issue): [BUG] Segmentati on fault ruby 2.2.2p95 (2015-04-...https://bugs.ruby-lang.org/issues/113032015-06-24T08:25:20Zadrianpetrov (adrian petrov)iurca.adrian@live.com
<p>$ rails server<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0/mysql-2.9.1/mysql/mysql_api.so: [BUG] Segmentati<br>
on fault<br>
ruby 2.2.2p95 (2015-04-13 revision 50295) [x64-mingw32]</p>
<p>-- Control frame information -----------------------------------------------<br>
c:0019 p:-11306334 s:0064 e:000063 TOP [FINISH]<br>
c:0018 p:---- s:0062 e:000061 CFUNC :require<br>
c:0017 p:0020 s:0058 e:000057 RESCUE c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-2.9.1/lib/mysql.rb:6<br>
c:0016 p:0032 s:0055 e:000054 TOP c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-2.9.1/lib/mysql.rb:2 [FINISH]</p>
<p>c:0015 p:---- s:0053 e:000052 CFUNC :require<br>
c:0014 p:0037 s:0049 e:000048 BLOCK c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.<br>
rb:76 [FINISH]<br>
c:0013 p:---- s:0046 e:000045 CFUNC :each<br>
c:0012 p:0053 s:0043 e:000042 BLOCK c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.<br>
rb:72 [FINISH]<br>
c:0011 p:---- s:0037 e:000036 CFUNC :each<br>
c:0010 p:0030 s:0034 e:000033 METHOD c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.<br>
rb:61<br>
c:0009 p:0017 s:0030 e:000029 METHOD c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler.rb:134<br>
c:0008 p:0049 s:0026 e:000025 TOP C:/Users/uidj5532/Downloads/resdb.git/config/application.rb:7 [FINISH]<br>
c:0007 p:---- s:0024 e:000023 CFUNC :require<br>
c:0006 p:0014 s:0020 e:000019 BLOCK c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands.r<br>
b:74 [FINISH]<br>
c:0005 p:---- s:0017 e:000016 CFUNC :tap<br>
c:0004 p:0561 s:0014 e:000013 TOP c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands.r<br>
b:71 [FINISH]<br>
c:0003 p:---- s:0008 e:000007 CFUNC :require<br>
c:0002 p:0034 s:0004 E:0024e0 EVAL bin/rails:4 [FINISH]<br>
c:0001 p:0000 s:0002 E:002060 TOP [FINISH]</p>
<p>-- Ruby level backtrace information ----------------------------------------<br>
bin/rails:4:in <code><main>' bin/rails:4:in </code>require'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands.rb:71:in <code><top (required)>' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands.rb:71:in </code>tap'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands.rb:74:in <code>block in <top (required)>' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands.rb:74:in </code>require'<br>
C:/Users/uidj5532/Downloads/resdb.git/config/application.rb:7:in <code><top (required)>' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler.rb:134:in </code>require'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb:61:in <code>require' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb:61:in </code>each'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb:72:in <code>block in require' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb:72:in </code>each'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb:76:in <code>block (2 levels) in require ' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb:76:in </code>require'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-2.9.1/lib/mysql.rb:2:in <code><top (required)>' c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-2.9.1/lib/mysql.rb:6:in </code>rescue in <top (required)>'<br>
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-2.9.1/lib/mysql.rb:6:in `require'</p>
<p>-- C level backtrace information -------------------------------------------<br>
C:\Windows\SYSTEM32\ntdll.dll(NtWaitForSingleObject+0xa) [0x0000000076EEDC1A]<br>
C:\Windows\system32\KERNELBASE.dll(WaitForSingleObjectEx+0x9c) [0x000007FEFCE510DC]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_bugreport+0xa4) [0x00000000649A2624]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_bug_context+0x62) [0x000000006484BC22]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_check_safe_obj+0x3b2) [0x000000006491BB62]<br>
[0x0000000000401A85]<br>
C:\Windows\SYSTEM32\ntdll.dll(_C_specific_handler+0x9c) [0x0000000076EB7FA8]<br>
C:\Windows\SYSTEM32\ntdll.dll(RtlDecodePointer+0xad) [0x0000000076EC908D]<br>
C:\Windows\SYSTEM32\ntdll.dll(RtlUnwindEx+0xbbf) [0x0000000076EB8BAF]<br>
C:\Windows\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x0000000076EEDB38]<br>
c:\Ruby22-x64\lib\ruby\gems\2.2.0\extensions\x64-mingw32\2.2.0\mysql-2.9.1\mysql\mysql_api.so(Init_mysql_api+0x<br>
7790) [0x00000000667CDEE0]<br>
c:\Ruby22-x64\lib\ruby\gems\2.2.0\extensions\x64-mingw32\2.2.0\mysql-2.9.1\mysql\mysql_api.so(Init_mysql_api+0x<br>
d) [0x00000000667C675D]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(dln_load+0x1d6) [0x0000000064801646]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_call_cfunc+0x130) [0x000000006499EF50]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_require_internal+0x559) [0x0000000064857229]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_require+0x20) [0x0000000064857590]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_send+0x761) [0x000000006499C541]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1f7b) [0x0000000064990F7B]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_iseq_eval+0x183) [0x000000006499E8B3]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_rubylevel_errinfo+0x61c) [0x000000006485562C]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_require_internal+0x593) [0x0000000064857263]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_require+0x20) [0x0000000064857590]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1f7b) [0x0000000064990F7B]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_funcall+0xa96) [0x000000006499A896]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_yield+0x7c) [0x000000006499B79C]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_ary_each+0x51) [0x0000000064801971]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1ed7) [0x0000000064990ED7]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_funcall+0xa96) [0x000000006499A896]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_yield+0x7c) [0x000000006499B79C]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_ary_each+0x51) [0x0000000064801971]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_send+0x761) [0x000000006499C541]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1ed7) [0x0000000064990ED7]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_iseq_eval+0x183) [0x000000006499E8B3]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_rubylevel_errinfo+0x61c) [0x000000006485562C]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_require_internal+0x593) [0x0000000064857263]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_require+0x20) [0x0000000064857590]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_send+0x761) [0x000000006499C541]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1f7b) [0x0000000064990F7B]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_funcall+0xa96) [0x000000006499A896]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_yield+0x7c) [0x000000006499B79C]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_obj_tap+0x16) [0x00000000648B19C6]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_send+0x761) [0x000000006499C541]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1ed7) [0x0000000064990ED7]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_iseq_eval+0x183) [0x000000006499E8B3]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_rubylevel_errinfo+0x61c) [0x000000006485562C]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_require_internal+0x593) [0x0000000064857263]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_require+0x20) [0x0000000064857590]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_error_arity+0x1e3) [0x000000006498BA93]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_f_send+0x761) [0x000000006499C541]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x1f7b) [0x0000000064990F7B]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_vm_localjump_error+0x607e) [0x000000006499507E]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_iseq_eval_main+0x1d0) [0x000000006499EAD0]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(rb_check_copyable+0x2fc1) [0x0000000064850AD1]<br>
c:\Ruby22-x64\bin\x64-msvcrt-ruby220.dll(ruby_run_node+0x51) [0x0000000064853C81]<br>
[0x0000000000402D14]<br>
[0x00000000004013D7]<br>
[0x00000000004014F8]<br>
C:\Windows\system32\kernel32.dll(BaseThreadInitThunk+0xd) [0x0000000076D959CD]</p>
<p>-- Other runtime information -----------------------------------------------</p>
<ul>
<li>
<p>Loaded script: bin/rails</p>
</li>
<li>
<p>Loaded features:</p>
<p>0 enumerator.so<br>
1 rational.so<br>
2 complex.so<br>
3 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/encdb.so<br>
4 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/trans/transdb.so<br>
5 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/iso_8859_1.so<br>
6 c:/Ruby22-x64/lib/ruby/2.2.0/unicode_normalize.rb<br>
7 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/rbconfig.rb<br>
8 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/compatibility.rb<br>
9 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/defaults.rb<br>
10 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/deprecate.rb<br>
11 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/errors.rb<br>
12 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/version.rb<br>
13 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/requirement.rb<br>
14 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/platform.rb<br>
15 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/basic_specification.rb<br>
16 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/stub_specification.rb<br>
17 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/util/stringio.rb<br>
18 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb<br>
19 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/exceptions.rb<br>
20 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/defaults/operating_system.rb<br>
21 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb<br>
22 thread.rb<br>
23 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/thread.so<br>
24 c:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb<br>
25 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb<br>
26 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems.rb<br>
27 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/path_support.rb<br>
28 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb<br>
29 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/pathname.so<br>
30 c:/Ruby22-x64/lib/ruby/2.2.0/pathname.rb<br>
31 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/constants.rb<br>
32 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/io/console.so<br>
33 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/user_interaction.rb<br>
34 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/etc.so<br>
35 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/config_file.rb<br>
36 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext/build_error.rb<br>
37 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb<br>
38 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext/configure_builder.rb<br>
39 c:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb<br>
40 c:/Ruby22-x64/lib/ruby/2.2.0/delegate.rb<br>
41 c:/Ruby22-x64/lib/ruby/2.2.0/tmpdir.rb<br>
42 c:/Ruby22-x64/lib/ruby/2.2.0/tempfile.rb<br>
43 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext/ext_conf_builder.rb<br>
44 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext/rake_builder.rb<br>
45 c:/Ruby22-x64/lib/ruby/2.2.0/optparse.rb<br>
46 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/command.rb<br>
47 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext/cmake_builder.rb<br>
48 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/ext.rb<br>
49 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/rubygems_integration.rb<br>
50 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/current_ruby.rb<br>
51 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/shared_helpers.rb<br>
52 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/gem_path_manipulation.rb<br>
53 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/gem_helpers.rb<br>
54 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/match_platform.rb<br>
55 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/rubygems_ext.rb<br>
56 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/version.rb<br>
57 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler.rb<br>
58 c:/Ruby22-x64/lib/ruby/2.2.0/uri/rfc2396_parser.rb<br>
59 c:/Ruby22-x64/lib/ruby/2.2.0/uri/rfc3986_parser.rb<br>
60 c:/Ruby22-x64/lib/ruby/2.2.0/uri/common.rb<br>
61 c:/Ruby22-x64/lib/ruby/2.2.0/uri/generic.rb<br>
62 c:/Ruby22-x64/lib/ruby/2.2.0/uri/ftp.rb<br>
63 c:/Ruby22-x64/lib/ruby/2.2.0/uri/http.rb<br>
64 c:/Ruby22-x64/lib/ruby/2.2.0/uri/https.rb<br>
65 c:/Ruby22-x64/lib/ruby/2.2.0/uri/ldap.rb<br>
66 c:/Ruby22-x64/lib/ruby/2.2.0/uri/ldaps.rb<br>
67 c:/Ruby22-x64/lib/ruby/2.2.0/uri/mailto.rb<br>
68 c:/Ruby22-x64/lib/ruby/2.2.0/uri.rb<br>
69 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/settings.rb<br>
70 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/strscan.so<br>
71 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/source.rb<br>
72 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/digest.so<br>
73 c:/Ruby22-x64/lib/ruby/2.2.0/digest.rb<br>
74 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/digest/sha1.so<br>
75 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/source/path.rb<br>
76 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/source/git.rb<br>
77 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/socket.so<br>
78 c:/Ruby22-x64/lib/ruby/2.2.0/socket.rb<br>
79 c:/Ruby22-x64/lib/ruby/2.2.0/timeout.rb<br>
80 c:/Ruby22-x64/lib/ruby/2.2.0/net/protocol.rb<br>
81 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/zlib.so<br>
82 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/stringio.so<br>
83 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/exceptions.rb<br>
84 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/header.rb<br>
85 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/windows_31j.so<br>
86 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/generic_request.rb<br>
87 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/request.rb<br>
88 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/requests.rb<br>
89 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/response.rb<br>
90 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/responses.rb<br>
91 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/proxy_delta.rb<br>
92 c:/Ruby22-x64/lib/ruby/2.2.0/net/http/backward.rb<br>
93 c:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb<br>
94 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/date_core.so<br>
95 c:/Ruby22-x64/lib/ruby/2.2.0/date.rb<br>
96 c:/Ruby22-x64/lib/ruby/2.2.0/time.rb<br>
97 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/request.rb<br>
98 c:/Ruby22-x64/lib/ruby/2.2.0/cgi/core.rb<br>
99 c:/Ruby22-x64/lib/ruby/2.2.0/cgi/util.rb<br>
100 c:/Ruby22-x64/lib/ruby/2.2.0/cgi/cookie.rb<br>
101 c:/Ruby22-x64/lib/ruby/2.2.0/cgi.rb<br>
102 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/uri_formatter.rb<br>
103 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/openssl.so<br>
104 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/bn.rb<br>
105 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/cipher.rb<br>
106 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/config.rb<br>
107 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/digest.rb<br>
108 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/x509.rb<br>
109 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/buffering.rb<br>
110 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/fcntl.so<br>
111 c:/Ruby22-x64/lib/ruby/2.2.0/openssl/ssl.rb<br>
112 c:/Ruby22-x64/lib/ruby/2.2.0/openssl.rb<br>
113 c:/Ruby22-x64/lib/ruby/2.2.0/securerandom.rb<br>
114 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/fiddle.so<br>
115 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/function.rb<br>
116 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/closure.rb<br>
117 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle.rb<br>
118 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/value.rb<br>
119 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/pack.rb<br>
120 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/struct.rb<br>
121 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/cparser.rb<br>
122 c:/Ruby22-x64/lib/ruby/2.2.0/fiddle/import.rb<br>
123 c:/Ruby22-x64/lib/ruby/2.2.0/win32/importer.rb<br>
124 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/utf_16le.so<br>
125 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/trans/utf_16_32.so<br>
126 c:/Ruby22-x64/lib/ruby/2.2.0/win32/registry.rb<br>
127 c:/Ruby22-x64/lib/ruby/2.2.0/win32/resolv.rb<br>
128 c:/Ruby22-x64/lib/ruby/2.2.0/resolv.rb<br>
129 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/remote_fetcher.rb<br>
130 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/text.rb<br>
131 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/name_tuple.rb<br>
132 c:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/spec_fetcher.rb<br>
133 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/source/rubygems.rb<br>
134 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/lockfile_parser.rb<br>
135 c:/Ruby22-x64/lib/ruby/2.2.0/set.rb<br>
136 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/definition.rb<br>
137 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/dependency.rb<br>
138 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/ruby_dsl.rb<br>
139 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/dsl.rb<br>
140 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/source_list.rb<br>
141 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/lazy_specification.rb<br>
142 c:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb<br>
143 c:/Ruby22-x64/lib/ruby/2.2.0/forwardable.rb<br>
144 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/spec_set.rb<br>
145 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/environment.rb<br>
146 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/runtime.rb<br>
147 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/dep_proxy.rb<br>
148 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/index.rb<br>
149 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/remote_specification.rb<br>
150 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/stub_specification.rb<br>
151 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/endpoint_specification.rb<br>
152 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.10.4/lib/bundler/setup.rb<br>
153 C:/Users/uidj5532/Downloads/resdb.git/config/boot.rb<br>
154 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thread_safe-0.3.3/lib/thread_safe/version.rb<br>
155 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thread_safe-0.3.3/lib/thread_safe/synchronized_delegator.rb<br>
156 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thread_safe-0.3.3/lib/thread_safe.rb<br>
157 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/array/prepend_and_<br>
append.rb<br>
158 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/deep_merge.rb</p>
<p>159 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/except.rb<br>
160 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/slice.rb<br>
161 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.6.9/lib/i18n/version.rb<br>
162 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.6.9/lib/i18n/exceptions.rb<br>
163 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.6.9/lib/i18n/interpolate/ruby.rb<br>
164 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.6.9/lib/i18n.rb<br>
165 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/lazy_load_hooks.rb<br>
166 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.6.9/lib/i18n/config.rb<br>
167 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/i18n.rb<br>
168 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thread_safe-0.3.3/lib/thread_safe/non_concurrent_cache_backend.rb<br>
169 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thread_safe-0.3.3/lib/thread_safe/mri_cache_backend.rb<br>
170 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thread_safe-0.3.3/lib/thread_safe/cache.rb<br>
171 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/inflector/inflections.rb<br>
172 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/inflections.rb<br>
173 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/inflector/methods.rb<br>
174 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/dependencies/autoload.rb<br>
175 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/version.rb<br>
176 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/array/extract_opti<br>
ons.rb<br>
177 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/class/attribute_ac<br>
cessors.rb<br>
178 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/concern.rb<br>
179 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/logger_silence.rb<br>
180 c:/Ruby22-x64/lib/ruby/2.2.0/logger.rb<br>
181 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/logger.rb<br>
182 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support.rb<br>
183 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/blank.rb<br>
184 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/kernel/singleton_c<br>
lass.rb<br>
185 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/remove_meth<br>
od.rb<br>
186 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/class/attribute.rb</p>
<p>187 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/delegation.<br>
rb<br>
188 c:/Ruby22-x64/lib/ruby/2.2.0/singleton.rb<br>
189 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/deprecation/instance_delega<br>
tor.rb<br>
190 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/notifications/instrumenter.<br>
rb<br>
191 c:/Ruby22-x64/lib/ruby/2.2.0/mutex_m.rb<br>
192 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/notifications/fanout.rb<br>
193 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/per_thread_registry.rb<br>
194 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/notifications.rb<br>
195 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/deprecation/behaviors.rb<br>
196 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/deprecation/reporting.rb<br>
197 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/aliasing.rb</p>
<p>198 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/deprecation/method_wrappers<br>
.rb<br>
199 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/deprecation/proxy_wrappers.<br>
rb<br>
200 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/deprecation<br>
.rb<br>
201 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/deprecation.rb<br>
202 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/rails.rb<br>
203 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/attribute_a<br>
ccessors.rb<br>
204 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_pack/version.rb<br>
205 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_pack.rb<br>
206 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack/multipart.rb<br>
207 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack/utils.rb<br>
208 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack.rb<br>
209 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch.rb<br>
210 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack/server.rb<br>
211 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/commands/server.rb<br>
212 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/ruby_version_check.rb<br>
213 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/kernel/reporting.r<br>
b<br>
214 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/key_generator.rb<br>
215 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/initializable.rb<br>
216 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/ordered_options.rb<br>
217 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/acts_like.r<br>
b<br>
218 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/bigdecimal.so<br>
219 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/duplicable.<br>
rb<br>
220 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/deep_dup.rb</p>
<p>221 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/try.rb<br>
222 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/inclusion.r<br>
b<br>
223 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/to_param.rb</p>
<p>224 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/to_query.rb</p>
<p>225 c:/Ruby22-x64/lib/ruby/2.2.0/base64.rb<br>
226 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/multibyte.rb<br>
227 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/multibyte.r<br>
b<br>
228 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/inflector/transliterate.rb<br>
229 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/inflections<br>
.rb<br>
230 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date_time/calculat<br>
ions.rb<br>
231 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/xml_mini/rexml.rb<br>
232 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/xml_mini.rb<br>
233 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/keys.rb<br>
234 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/array/conversions.<br>
rb<br>
235 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/time/acts_like.rb<br>
236 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/proxy_object.rb<br>
237 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/duration.rb<br>
238 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/values/time_zone.rb<br>
239 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/time/conversions.r<br>
b<br>
240 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/time_with_zone.rb<br>
241 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/time/zones.rb<br>
242 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date_and_time/calc<br>
ulations.rb<br>
243 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/time/calculations.<br>
rb<br>
244 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/time/marshal.rb<br>
245 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/time.rb<br>
246 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date/acts_like.rb<br>
247 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date/zones.rb<br>
248 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date/calculations.<br>
rb<br>
249 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date/conversions.r<br>
b<br>
250 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date.rb<br>
251 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date_time/acts_lik<br>
e.rb<br>
252 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date_time/conversi<br>
ons.rb<br>
253 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date_time/zones.rb</p>
<p>254 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/date_time.rb<br>
255 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/numeric/time.rb<br>
256 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/integer/time.rb<br>
257 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/conversions<br>
.rb<br>
258 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/zones.rb<br>
259 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/time.rb<br>
260 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/array/wrap.rb<br>
261 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/reverse_merge<br>
.rb<br>
262 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/conversions.r<br>
b<br>
263 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/conversions<br>
.rb<br>
264 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/instance_va<br>
riables.rb<br>
265 c:/Ruby22-x64/lib/ruby/2.2.0/json/version.rb<br>
266 c:/Ruby22-x64/lib/ruby/2.2.0/ostruct.rb<br>
267 c:/Ruby22-x64/lib/ruby/2.2.0/json/generic_object.rb<br>
268 c:/Ruby22-x64/lib/ruby/2.2.0/json/common.rb<br>
269 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/utf_16be.so<br>
270 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/utf_32be.so<br>
271 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/enc/utf_32le.so<br>
272 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/json/ext/parser.so<br>
273 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/json/ext/generator.so<br>
274 c:/Ruby22-x64/lib/ruby/2.2.0/json/ext.rb<br>
275 c:/Ruby22-x64/lib/ruby/2.2.0/json.rb<br>
276 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/to_json.rb<br>
277 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/option_merger.rb<br>
278 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object/with_option<br>
s.rb<br>
279 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/object.rb<br>
280 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/paths.rb<br>
281 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/rack.rb<br>
282 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/configuration.rb<br>
283 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/inflector.rb<br>
284 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/introspecti<br>
on.rb<br>
285 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/railtie.rb<br>
286 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/engine/railties.rb<br>
287 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/engine.rb<br>
288 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/application.rb<br>
289 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/version.rb<br>
290 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/deprecation.rb<br>
291 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/file_update_checker.rb<br>
292 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/railtie/configurable.rb<br>
293 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/railtie/configuration.rb<br>
294 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/i18n_railtie.rb<br>
295 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/railtie.rb<br>
296 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/railtie.rb<br>
297 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails.rb<br>
298 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activemodel-4.0.4/lib/active_model/version.rb<br>
299 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activemodel-4.0.4/lib/active_model.rb<br>
300 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/crud.rb<br>
301 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/factory_methods.rb<br>
302 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/expressions.rb<br>
303 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/predications.rb<br>
304 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/window_predications.rb<br>
305 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/math.rb<br>
306 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/alias_predication.rb<br>
307 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/order_predications.rb<br>
308 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/table.rb<br>
309 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/attributes/attribute.rb<br>
310 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/attributes.rb<br>
311 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/compatibility/wheres.rb<br>
312 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/expression.rb<br>
313 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/visitor.rb<br>
314 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/depth_first.rb<br>
315 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/to_sql.rb<br>
316 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/sqlite.rb<br>
317 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/postgresql.rb<br>
318 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/mysql.rb<br>
319 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/mssql.rb<br>
320 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/oracle.rb<br>
321 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/join_sql.rb<br>
322 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/where_sql.rb<br>
323 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/order_clauses.rb<br>
324 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/dot.rb<br>
325 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/ibm_db.rb<br>
326 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors/informix.rb<br>
327 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/visitors.rb<br>
328 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/tree_manager.rb<br>
329 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/insert_manager.rb<br>
330 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/select_manager.rb<br>
331 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/update_manager.rb<br>
332 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/delete_manager.rb<br>
333 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/node.rb<br>
334 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/select_statement.rb<br>
335 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/select_core.rb<br>
336 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/insert_statement.rb<br>
337 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/update_statement.rb<br>
338 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/terminal.rb<br>
339 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/true.rb<br>
340 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/false.rb<br>
341 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/unary.rb<br>
342 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/grouping.rb<br>
343 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/ascending.rb<br>
344 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/descending.rb<br>
345 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/unqualified_column.rb<br>
346 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/with.rb<br>
347 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/binary.rb<br>
348 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/equality.rb<br>
349 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/in.rb<br>
350 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/join_source.rb<br>
351 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/delete_statement.rb<br>
352 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/table_alias.rb<br>
353 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/infix_operation.rb<br>
354 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/over.rb<br>
355 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/and.rb<br>
356 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/function.rb<br>
357 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/count.rb<br>
358 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/extract.rb<br>
359 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/values.rb<br>
360 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/named_function.rb<br>
361 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/window.rb<br>
362 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/inner_join.rb<br>
363 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/outer_join.rb<br>
364 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/string_join.rb<br>
365 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes/sql_literal.rb<br>
366 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/nodes.rb<br>
367 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/deprecated.rb<br>
368 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/sql/engine.rb<br>
369 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel/sql_literal.rb<br>
370 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/arel-4.0.2/lib/arel.rb<br>
371 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-deprecated_finders-1.0.3/lib/active_record/deprecated<br>
_finders/version.rb<br>
372 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-deprecated_finders-1.0.3/lib/active_record/deprecated<br>
<em>finders.rb<br>
373 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/version.rb<br>
374 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/enumerable.rb<br>
375 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activemodel-4.0.4/lib/active_model/attribute_methods.rb<br>
376 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/attribute_methods.rb<br>
377 c:/Ruby22-x64/lib/ruby/2.2.0/bigdecimal/util.rb<br>
378 c:/Ruby22-x64/lib/ruby/2.2.0/benchmark.rb<br>
379 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/benchmark.rb<br>
380 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/schema_ca<br>
che.rb<br>
381 c:/Ruby22-x64/lib/ruby/2.2.0/ipaddr.rb<br>
382 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/<br>
schema_dumper.rb<br>
383 c:/Ruby22-x64/lib/ruby/2.2.0/psych/exception.rb<br>
384 c:/Ruby22-x64/lib/ruby/2.2.0/psych/syntax_error.rb<br>
385 c:/Ruby22-x64/lib/ruby/2.2.0/x64-mingw32/psych.so<br>
386 c:/Ruby22-x64/lib/ruby/2.2.0/psych/omap.rb<br>
387 c:/Ruby22-x64/lib/ruby/2.2.0/psych/set.rb<br>
388 c:/Ruby22-x64/lib/ruby/2.2.0/psych/class_loader.rb<br>
389 c:/Ruby22-x64/lib/ruby/2.2.0/psych/scalar_scanner.rb<br>
390 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/node.rb<br>
391 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/stream.rb<br>
392 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/document.rb<br>
393 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/sequence.rb<br>
394 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/scalar.rb<br>
395 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/mapping.rb<br>
396 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes/alias.rb<br>
397 c:/Ruby22-x64/lib/ruby/2.2.0/psych/nodes.rb<br>
398 c:/Ruby22-x64/lib/ruby/2.2.0/psych/streaming.rb<br>
399 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors/visitor.rb<br>
400 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors/to_ruby.rb<br>
401 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors/emitter.rb<br>
402 c:/Ruby22-x64/lib/ruby/2.2.0/psych/handler.rb<br>
403 c:/Ruby22-x64/lib/ruby/2.2.0/psych/tree_builder.rb<br>
404 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors/yaml_tree.rb<br>
405 c:/Ruby22-x64/lib/ruby/2.2.0/psych/json/ruby_events.rb<br>
406 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors/json_tree.rb<br>
407 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors/depth_first.rb<br>
408 c:/Ruby22-x64/lib/ruby/2.2.0/psych/visitors.rb<br>
409 c:/Ruby22-x64/lib/ruby/2.2.0/psych/parser.rb<br>
410 c:/Ruby22-x64/lib/ruby/2.2.0/psych/coder.rb<br>
411 c:/Ruby22-x64/lib/ruby/2.2.0/psych/core_ext.rb<br>
412 c:/Ruby22-x64/lib/ruby/2.2.0/psych/deprecated.rb<br>
413 c:/Ruby22-x64/lib/ruby/2.2.0/psych/stream.rb<br>
414 c:/Ruby22-x64/lib/ruby/2.2.0/psych/json/yaml_events.rb<br>
415 c:/Ruby22-x64/lib/ruby/2.2.0/psych/json/tree_builder.rb<br>
416 c:/Ruby22-x64/lib/ruby/2.2.0/psych/json/stream.rb<br>
417 c:/Ruby22-x64/lib/ruby/2.2.0/psych/handlers/document_stream.rb<br>
418 c:/Ruby22-x64/lib/ruby/2.2.0/psych.rb<br>
419 c:/Ruby22-x64/lib/ruby/2.2.0/yaml.rb<br>
420 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/big_decimal/conver<br>
sions.rb<br>
421 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/<br>
quoting.rb<br>
422 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/<br>
database_statements.rb<br>
423 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/errors.rb<br>
424 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/migration.rb<br>
425 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/migration/join_table.rb<br>
426 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/<br>
schema_statements.rb<br>
427 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/<br>
database_limits.rb<br>
428 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/<br>
query_cache.rb<br>
429 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/descendants_tracker.rb<br>
430 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/callbacks.rb<br>
431 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract</em><br>
adapter.rb<br>
432 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/scoping.rb<br>
433 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record.rb<br>
434 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activemodel-4.0.4/lib/active_model/railtie.rb<br>
435 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/attr_intern<br>
al.rb<br>
436 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/anonymous.r<br>
b<br>
437 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/abstract_controller.rb<br>
438 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack/request.rb<br>
439 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack/response.rb<br>
440 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/http/filter_redirect.rb<br>
441 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/http/cache.rb<br>
442 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/http/response.rb<br>
443 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_controller/metal/live.rb<br>
444 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/hash_with_indifferent_acces<br>
s.rb<br>
445 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/indifferent_a<br>
ccess.rb<br>
446 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/rescuable.rb<br>
447 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/http/upload.rb<br>
448 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/mock_session.rb<br>
449 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/test/cookie_jar.rb<br>
450 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/test/mock_digest_request.rb<br>
451 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/test/utils.rb<br>
452 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/test/methods.rb<br>
453 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/test/uploaded_file.rb<br>
454 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-test-0.6.2/lib/rack/test.rb<br>
455 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_controller/metal/strong_parameters.rb<br>
456 c:/Ruby22-x64/lib/ruby/2.2.0/erb.rb<br>
457 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/output_safe<br>
ty.rb<br>
458 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view.rb<br>
459 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/vendor/html-scanner.rb<br>
460 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/load_error.rb<br>
461 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/name_error.rb<br>
462 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/uri.rb<br>
463 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_controller.rb<br>
464 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/railtie.rb<br>
465 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/abstract_controller/railties/routes_helpers.r<br>
b<br>
466 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_controller/railties/helpers.rb<br>
467 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_controller/railtie.rb<br>
468 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activerecord-4.0.4/lib/active_record/railtie.rb<br>
469 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionmailer-4.0.4/lib/action_mailer/version.rb<br>
470 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/class/delegating_a<br>
ttributes.rb<br>
471 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/reachable.r<br>
b<br>
472 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/class/subclasses.r<br>
b<br>
473 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/class.rb<br>
474 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionmailer-4.0.4/lib/action_mailer.rb<br>
475 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionmailer-4.0.4/lib/action_mailer/railtie.rb<br>
476 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/test_unit/railtie.rb<br>
477 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/version.rb<br>
478 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hike-1.2.3/lib/hike.rb<br>
479 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb<br>
480 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/string.rb<br>
481 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/erb.rb<br>
482 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/etanni.rb<br>
483 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/haml.rb<br>
484 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/css.rb<br>
485 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/csv.rb<br>
486 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/coffee.rb<br>
487 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/nokogiri.rb<br>
488 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/builder.rb<br>
489 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/markaby.rb<br>
490 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/liquid.rb<br>
491 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/radius.rb<br>
492 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/markdown.rb<br>
493 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/textile.rb<br>
494 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/rdoc.rb<br>
495 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/wiki.rb<br>
496 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/yajl.rb<br>
497 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/asciidoc.rb<br>
498 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt/plain.rb<br>
499 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/tilt-1.4.1/lib/tilt.rb<br>
500 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/eco_template.rb<br>
501 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/ejs_template.rb<br>
502 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/jst_processor.rb<br>
503 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/utils.rb<br>
504 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/engines.rb<br>
505 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rack-1.5.2/lib/rack/mime.rb<br>
506 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/mime.rb<br>
507 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/processor.rb<br>
508 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/processing.rb<br>
509 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/compressing.rb<br>
510 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/paths.rb<br>
511 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hike-1.2.3/lib/hike/normalized_array.rb<br>
512 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hike-1.2.3/lib/hike/extensions.rb<br>
513 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hike-1.2.3/lib/hike/index.rb<br>
514 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hike-1.2.3/lib/hike/paths.rb<br>
515 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hike-1.2.3/lib/hike/trail.rb<br>
516 c:/Ruby22-x64/lib/ruby/2.2.0/shellwords.rb<br>
517 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/directive_processor.rb<br>
518 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/safety_colons.rb<br>
519 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/charset_normalizer.rb<br>
520 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/sass_compressor.rb<br>
521 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/yui_compressor.rb<br>
522 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/closure_compressor.rb<br>
523 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/uglifier_compressor.rb<br>
524 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/sass_template.rb<br>
525 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/scss_template.rb<br>
526 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets.rb<br>
527 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/benchmarkable.rb<br>
528 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/active_model_helper.rb<br>
529 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/asset_url_helper.rb<br>
530 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/capture_helper.rb<br>
531 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/tag_helper.rb<br>
532 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/asset_tag_helper.rb<br>
533 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/atom_feed_helper.rb<br>
534 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/cache_helper.rb<br>
535 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/controller_helper.rb<br>
536 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/csrf_helper.rb<br>
537 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/date_helper.rb<br>
538 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/debug_helper.rb<br>
539 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/javascript_helper.rb<br>
540 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/array/access.rb<br>
541 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/url_helper.rb<br>
542 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/filters.rb<br>
543 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/sanitize_helper.rb<br>
544 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/output_safety_helper.rb<br>
545 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/text_helper.rb<br>
546 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/form_tag_helper.rb<br>
547 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/tags.rb<br>
548 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/model_naming.rb<br>
549 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/form_helper.rb<br>
550 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/form_options_helper.rb<br>
551 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/number_helper.rb<br>
552 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/number_helper.rb<br>
553 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module/qualified_c<br>
onst.rb<br>
554 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/module.rb<br>
555 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/record_identifier.rb<br>
556 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/record_tag_helper.rb<br>
557 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/rendering_helper.rb<br>
558 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers/translation_helper.rb<br>
559 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/helpers.rb<br>
560 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.0.1/lib/sprockets/rails/helper.rb<br>
561 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/engine/configuration.rb<br>
562 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/application/configuration.rb<br>
563 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.0.1/lib/sprockets/railtie.rb<br>
564 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.0.4/lib/rails/all.rb<br>
565 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/string_inquirer.rb<br>
566 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails/version.rb<br>
567 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/root.rb<br>
568 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/util/subset_map.rb<br>
569 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/util/multibyte_string_scanner.rb<br>
570 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/util.rb<br>
571 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/version.rb<br>
572 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/logger/log_level.rb<br>
573 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/logger/base.rb<br>
574 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/logger.rb<br>
575 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/cache_stores/base.rb<br>
576 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/cache_stores/filesystem.rb<br>
577 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/cache_stores/memory.rb<br>
578 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/cache_stores/chain.rb<br>
579 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/cache_stores.rb<br>
580 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/node.rb<br>
581 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/root_node.rb<br>
582 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/rule_node.rb<br>
583 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/comment_node.rb<br>
584 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/prop_node.rb<br>
585 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/directive_node.rb<br>
586 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/media_node.rb<br>
587 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/supports_node.rb<br>
588 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/css_import_node.rb<br>
589 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/variable_node.rb<br>
590 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/mixin_def_node.rb<br>
591 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/mixin_node.rb<br>
592 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/trace_node.rb<br>
593 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/content_node.rb<br>
594 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/function_node.rb<br>
595 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/return_node.rb<br>
596 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/extend_node.rb<br>
597 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/if_node.rb<br>
598 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/while_node.rb<br>
599 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/for_node.rb<br>
600 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/each_node.rb<br>
601 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/debug_node.rb<br>
602 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/warn_node.rb<br>
603 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/import_node.rb<br>
604 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/charset_node.rb<br>
605 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb<br>
606 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb<br>
607 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/cssize.rb<br>
608 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/extend.rb<br>
609 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/convert.rb<br>
610 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/to_css.rb<br>
611 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/deep_copy.rb<br>
612 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/set_options.rb<br>
613 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/check_nesting.rb<br>
614 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/selector/simple.rb<br>
615 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/selector/abstract_sequence.rb<br>
616 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/selector/comma_sequence.rb<br>
617 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/selector/sequence.rb<br>
618 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/selector/simple_sequence.rb<br>
619 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/selector.rb<br>
620 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/environment.rb<br>
621 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/node.rb<br>
622 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/variable.rb<br>
623 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/functions.rb<br>
624 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/funcall.rb<br>
625 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/number.rb<br>
626 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/color.rb<br>
627 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/bool.rb<br>
628 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/null.rb<br>
629 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/list.rb<br>
630 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/arg_list.rb<br>
631 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/literal.rb<br>
632 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/string.rb<br>
633 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/unary_operation.rb<br>
634 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/interpolation.rb<br>
635 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/string_interpolation.rb<br>
636 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/operation.rb<br>
637 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss/rx.rb<br>
638 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/lexer.rb<br>
639 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/parser.rb<br>
640 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script.rb<br>
641 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss/script_lexer.rb<br>
642 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss/script_parser.rb<br>
643 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss/parser.rb<br>
644 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/css_lexer.rb<br>
645 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/script/css_parser.rb<br>
646 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss/static_parser.rb<br>
647 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss/css_parser.rb<br>
648 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/scss.rb<br>
649 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/error.rb<br>
650 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/importers/base.rb<br>
651 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/importers/filesystem.rb<br>
652 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/importers.rb<br>
653 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/shared.rb<br>
654 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/media.rb<br>
655 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/supports.rb<br>
656 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/engine.rb<br>
657 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass/railtie.rb<br>
658 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-3.2.19/lib/sass.rb<br>
659 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/sass_functions.rb<br>
660 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails/helpers.rb<br>
661 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sprockets-2.11.0/lib/sprockets/sass_importer.rb<br>
662 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails/importer.rb<br>
663 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails/template.rb<br>
664 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails/logger.rb<br>
665 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails/railtie.rb<br>
666 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass/rails.rb<br>
667 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sass-rails-4.0.3/lib/sass-rails.rb<br>
668 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/version.rb<br>
669 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/module.rb<br>
670 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/encoding.rb<br>
671 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/runtime.rb<br>
672 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/disabled_runtime.rb<br>
673 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/external_runtime.rb<br>
674 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/johnson_runtime.rb<br>
675 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/mustang_runtime.rb<br>
676 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/ruby_racer_runtime.rb<br>
677 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/ruby_rhino_runtime.rb<br>
678 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs/runtimes.rb<br>
679 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/execjs-2.0.2/lib/execjs.rb<br>
680 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/uglifier-2.5.0/lib/uglifier/version.rb<br>
681 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/uglifier-2.5.0/lib/uglifier.rb<br>
682 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-script-source-1.7.0/lib/coffee_script/source.rb<br>
683 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-script-2.2.0/lib/coffee_script.rb<br>
684 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-script-2.2.0/lib/coffee-script.rb<br>
685 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-rails-4.0.1/lib/coffee/rails/engine.rb<br>
686 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-rails-4.0.1/lib/coffee/rails/template_handler.rb<br>
687 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-rails-4.0.1/lib/coffee/rails/version.rb<br>
688 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/coffee-rails-4.0.1/lib/coffee-rails.rb<br>
689 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jquery-rails-3.1.0/lib/jquery/rails/engine.rb<br>
690 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jquery-rails-3.1.0/lib/jquery/rails/railtie.rb<br>
691 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jquery-rails-3.1.0/lib/jquery/rails/version.rb<br>
692 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jquery-rails-3.1.0/lib/jquery/rails.rb<br>
693 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jquery-rails-3.1.0/lib/jquery-rails.rb<br>
694 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks/version.rb<br>
695 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks/xhr_headers.rb<br>
696 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks/xhr_url_for.rb<br>
697 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks/cookies.rb<br>
698 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks/x_domain_blocker.rb<br>
699 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks/redirection.rb<br>
700 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/turbolinks-2.2.2/lib/turbolinks.rb<br>
701 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/ordered_hash.rb<br>
702 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash/diff.rb<br>
703 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/hash.rb<br>
704 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/numeric/bytes.rb<br>
705 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/cache.rb<br>
706 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/multi_json-1.9.3/lib/multi_json/options.rb<br>
707 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/multi_json-1.9.3/lib/multi_json/version.rb<br>
708 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/multi_json-1.9.3/lib/multi_json/adapter_error.rb<br>
709 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/multi_json-1.9.3/lib/multi_json/parse_error.rb<br>
710 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/multi_json-1.9.3/lib/multi_json.rb<br>
711 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.4/lib/active_support/core_ext/string/starts_ends<br>
_with.rb<br>
712 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/http/mime_types.rb<br>
713 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_dispatch/http/mime_type.rb<br>
714 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/template/handlers.rb<br>
715 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/util.rb<br>
716 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/generator.rb<br>
717 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/converter.rb<br>
718 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/error.rb<br>
719 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/context.rb<br>
720 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb<br>
721 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/engine.rb<br>
722 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/helper.rb<br>
723 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/enhancer.rb<br>
724 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb<br>
725 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis/local-setting.rb<br>
726 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/erubis-2.7.0/lib/erubis.rb<br>
727 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/template/handlers/erb.rb<br>
728 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/template/handlers/builder.rb<br>
729 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/template/handlers/raw.rb<br>
730 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/actionpack-4.0.4/lib/action_view/template.rb<br>
731 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jbuilder-1.5.3/lib/jbuilder/jbuilder_template.rb<br>
732 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jbuilder-1.5.3/lib/jbuilder/railtie.rb<br>
733 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/jbuilder-1.5.3/lib/jbuilder.rb<br>
734 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/configuration.rb<br>
735 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/constraints/root_route.rb<br>
736 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/page_finder.rb<br>
737 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/route_drawers/default.rb<br>
738 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/route_drawers/root.rb<br>
739 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/version.rb<br>
740 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage/engine.rb<br>
741 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/high_voltage-2.1.0/lib/high_voltage.rb<br>
742 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rails-erd-1.1.0/lib/rails_erd/railtie.rb<br>
743 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rails-erd-1.1.0/lib/rails_erd.rb<br>
744 c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rails-erd-1.1.0/lib/rails-erd.rb</p>
</li>
</ul>
<p>[NOTE]<br>
You may have encountered a bug in the Ruby interpreter or extension libraries.<br>
Bug reports are welcome.<br>
For details: <a href="http://www.ruby-lang.org/bugreport.html" class="external">http://www.ruby-lang.org/bugreport.html</a></p>
<p>This application has requested the Runtime to terminate it in an unusual way.<br>
Please contact the application's support team for more information.</p> Ruby master - Bug #11176 (Closed): Hardcoded settings in REXMLhttps://bugs.ruby-lang.org/issues/111762015-05-24T00:37:53Ztomasbedrich (Tomáš Bedřich)ja@tbedrich.cz
<p>XMLDecl has hardcoded single qoutes (see here: <a href="https://bugs.ruby-lang.org/projects/ruby-trunk/repository/entry/lib/rexml/xmldecl.rb#L109" class="external">https://bugs.ruby-lang.org/projects/ruby-trunk/repository/entry/lib/rexml/xmldecl.rb#L109</a>). So it is impossible to set document-wide double quoting.</p> Ruby master - Feature #11141 (Rejected): new syntax suggestion for abbreviate definition on bloc...https://bugs.ruby-lang.org/issues/111412015-05-12T00:45:57Zneohunter (Arnold Roa)manolet@gmail.com
<p>One of the most commons things I do in Ruby are small block definitions:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">x</span><span class="p">.</span><span class="nf">each</span><span class="p">{</span><span class="o">|</span><span class="n">a</span><span class="o">|</span> <span class="n">a</span><span class="p">}</span>
</code></pre>
<p>One useful syntax introduced was the <strong><code>&:method</code></strong> that allows calling a method on a block if only one param is expected. It's a shortcut for <strong><code>a.each{|x|x.method}</code></strong>. I think it would be nice if Ruby had a syntax that allows me to not define the params that block would receive, but instead access them in order. For example:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">x</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span> <span class="vg">$1</span> <span class="p">}</span>
</code></pre>
<p>Let's suppose the block is waiting for two params, I normally do:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">x</span><span class="p">.</span><span class="nf">method</span> <span class="p">{</span><span class="o">|</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="o">|</span> <span class="n">a</span> <span class="o">-</span> <span class="n">b</span> <span class="p">}</span>
</code></pre>
<p>This syntax will allow us to use:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"> <span class="n">x</span><span class="p">.</span><span class="nf">method</span><span class="p">{</span> <span class="vg">$1</span> <span class="o">-</span> <span class="vg">$2</span> <span class="p">}</span>
</code></pre>
<p>So:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"> <span class="n">x</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span> <span class="n">p1</span><span class="p">.</span><span class="nf">stg</span> <span class="p">}</span>
<span class="n">x</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">p1</span><span class="o">|</span> <span class="n">p1</span><span class="p">.</span><span class="nf">stg</span><span class="p">}</span>
<span class="n">x</span><span class="p">.</span><span class="nf">each</span> <span class="o">&</span><span class="ss">:stg</span>
</code></pre>
<p>would be the same.</p>
<p>Please consider <code>$1</code> and <code>$2</code> just as an example. I don't like the fact that they are global variables. It could be <code>_1</code> or <code>p1</code>, for example:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">x</span><span class="p">.</span><span class="nf">method</span><span class="p">{</span> <span class="n">p1</span> <span class="o">-</span> <span class="n">p2</span> <span class="p">}</span>
<span class="n">x</span><span class="p">.</span><span class="nf">each</span><span class="p">{</span> <span class="n">p1</span> <span class="o">-</span> <span class="n">p2</span> <span class="p">}</span> <span class="o">==</span> <span class="n">x</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">p1</span><span class="p">,</span> <span class="n">p2</span><span class="o">|</span> <span class="n">p1</span> <span class="o">-</span> <span class="n">p2</span> <span class="p">}</span>
</code></pre>
<p>Or, as blocks already uses <strong><code>&:method</code></strong> it could be <strong><code>&:1</code></strong>. Or any other thing that you may consider more appropriated.</p>
<p>I think this syntax would be very nice for short block definitions, the downside is that it allows for bad practice on longer methods, but in the end, that's a decision that a programer should make.</p>
<p>Maybe this is not a valid reason, but I would like to point out that Regex is actually creating global vars as the results of match: $x vars. (for perl's historical reasons)</p>
<p>So why not introduce this into Ruby's syntax?</p>
<p>Personally I don't like either <code>$1</code> nor <code>p1</code>. They are just the first quick things that come to my mind.</p> Ruby master - Bug #11109 (Third Party's Issue): Crash of irb.https://bugs.ruby-lang.org/issues/111092015-04-30T13:51:36Zyangzhijava (Jeffrey Yang)yangzhijava@outlook.com
<p>ENV:<br>
Mac OS X 10.10.3<br>
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]</p>
<p>HOW TO COMPILE:</p>
<ol>
<li>cd to the dir of ruby 2.2.2.</li>
<li>./configure</li>
<li>make</li>
<li>make install as root.</li>
</ol>
<p>STEPS:</p>
<ol>
<li>
<p>Start the irb on console.</p>
</li>
<li>
<p>Type the following code lines in irb:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s1">'stringio'</span>
<span class="nb">require</span> <span class="s1">'bson'</span>
<span class="n">sio</span> <span class="o">=</span> <span class="no">StringIO</span><span class="p">.</span><span class="nf">new</span> <span class="mi">1</span><span class="p">.</span><span class="nf">to_bson</span>
<span class="no">BSON</span><span class="o">::</span><span class="no">Int64</span><span class="p">.</span> <span class="nf">from_bson</span> <span class="n">sio</span>
</code></pre>
</li>
<li>
<p>The crash happens.</p>
</li>
</ol>
<p>Please see also the attached file for all details.</p> Ruby master - Bug #10864 (Rejected): REXML adds white space to text property when indent > -1https://bugs.ruby-lang.org/issues/108642015-02-17T23:35:50Zamclain (Alex McLain)alex@alexmclain.com
<p>The following example shows that REXML is adding white space to the text property of elements when setting the :indent option on Document#write greater than -1. The value written should be the same value read.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="nb">require</span> <span class="s1">'rexml/document'</span>
<span class="n">xml_string</span> <span class="o">=</span> <span class="s1">''</span>
<span class="no">REXML</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">xml_string</span><span class="p">).</span><span class="nf">tap</span> <span class="k">do</span> <span class="o">|</span><span class="n">doc</span><span class="o">|</span>
<span class="n">doc</span><span class="p">.</span><span class="nf">add_element</span><span class="p">(</span><span class="s1">'root'</span><span class="p">).</span><span class="nf">tap</span> <span class="k">do</span> <span class="o">|</span><span class="n">root</span><span class="o">|</span>
<span class="n">write_text</span> <span class="o">=</span> <span class="s1">'bar'</span>
<span class="nb">puts</span> <span class="s2">"Write Text: </span><span class="si">#{</span><span class="n">write_text</span><span class="p">.</span><span class="nf">inspect</span><span class="si">}</span><span class="s2">"</span>
<span class="n">root</span><span class="p">.</span><span class="nf">add_element</span><span class="p">(</span><span class="s1">'foo'</span><span class="p">).</span><span class="nf">text</span> <span class="o">=</span> <span class="n">write_text</span>
<span class="k">end</span>
<span class="n">doc</span><span class="p">.</span><span class="nf">write</span> <span class="ss">output: </span><span class="n">xml_string</span><span class="p">,</span> <span class="ss">indent: </span><span class="mi">4</span>
<span class="k">end</span>
<span class="no">REXML</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">xml_string</span><span class="p">).</span><span class="nf">tap</span> <span class="k">do</span> <span class="o">|</span><span class="n">doc</span><span class="o">|</span>
<span class="n">read_text</span> <span class="o">=</span> <span class="n">doc</span><span class="p">.</span><span class="nf">elements</span><span class="p">[</span><span class="s1">'/root/foo'</span><span class="p">].</span><span class="nf">first</span>
<span class="nb">puts</span> <span class="s2">"Read Text: </span><span class="si">#{</span><span class="n">read_text</span><span class="p">.</span><span class="nf">inspect</span><span class="si">}</span><span class="s2">"</span>
<span class="k">end</span>
<span class="nb">puts</span> <span class="s2">"XML String:"</span>
<span class="nb">puts</span> <span class="n">xml_string</span>
</code></pre>
<pre><code class="text syntaxhl" data-language="text">Write Text: "bar"
Read Text: "\n bar\n "
XML String:
<root>
<foo>
bar
</foo>
</root>
</code></pre> Ruby master - Bug #10850 (Rejected): BigDecimal division incorrecthttps://bugs.ruby-lang.org/issues/108502015-02-13T11:14:06ZElyasin (Elyasin Shaladi)Elyas.Shaladi@gmail.com
<p>I tried this in Ruby 2.1.4, 2.1.5 and 2.2.0, but in none of the versions it seems correct to me.</p>
<p>irb(main):041:0* amount1 = BigDecimal("241.3")<br>
=> #<a href="BigDecimal:7f49bcb03558,'0.2413E3',18(18)" class="external">BigDecimal:7f49bcb03558,'0.2413E3',18(18)</a></p>
<p>irb(main):042:0> amount2 = BigDecimal("1800")<br>
=> #<a href="BigDecimal:7f49bcaf3400,'0.18E4',9(18)" class="external">BigDecimal:7f49bcaf3400,'0.18E4',9(18)</a></p>
<p>irb(main):043:0> rate = amount1 / amount2<br>
=> #<BigDecimal:7f49bcae8398,'0.1340555555 5555555555 5555556E0',27(45)></p>
<p>irb(main):044:0> rate * amount2 #should return amount1 = 241.3 in BigDecimal, but it does not<br>
=> #<BigDecimal:7f49bcad6a30,'0.2413000000 0000000000 00000008E3',36(45)></p>
<p>My guess is that there is a bug in the BigDecimal implementation.</p> Ruby master - Feature #10833 (Third Party's Issue): getting argument error in rails productionhttps://bugs.ruby-lang.org/issues/108332015-02-06T12:05:27Zraja (narasinga raja)raja.narasinga2@gmail.com
<ol>
<li>I deployed my rails application using passenger + nginx<br>
2.data base is postgresql</li>
<li>when i am creating a new issue its showing Sorry, the page you are looking for is currently unavailable.<br>
Please try again later.<br>
plz help me out to get out of this problen</li>
</ol>
<p>4.in my nginx error log goy this error "App 22249 stderr: [ 2015-02-06 14:20:36.5094 22323/0x0000000690c1c0(Worker 1) utils.rb:72 ]: *** Exception ArgumentError in Rack application object (could not find a temporary directory) (process 22323, thread 0x0000000690c1c0(Worker 1)):"</p> Ruby master - Bug #10630 (Third Party's Issue): ERB tags nested in escaped blocks are skippedhttps://bugs.ruby-lang.org/issues/106302014-12-22T09:48:36Ztonci (Tonči Damjanić)tonci.damjanic@gmail.com
<p>Hello,</p>
<p>First of all, is this a good place to report Erubis bugs? Their GitHub repo is stale (no action since 2011) and I was suggested by the Rails team to try here.</p>
<p>GitHub ticket: <a href="https://github.com/kwatch/erubis/issues/6" class="external">https://github.com/kwatch/erubis/issues/6</a><br>
Repro example: <a href="https://github.com/rails/rails/issues/18098#issuecomment-67667400" class="external">https://github.com/rails/rails/issues/18098#issuecomment-67667400</a></p>
<hr>
<p>It seems that ERB (Erubis) doesn't handle well tags embedded within another tag. My goal is to produce ERB code with some values prefilled in the first pass.</p>
<p>Input ERB code:</p>
<pre><code> <div>
<%%= Results: <%= 'first' %> | <%= 'second' %> | <%= 'third' %> %>
</div>
</code></pre>
<p>Produces the following output:</p>
<pre><code> <div>
<%= Results: <%= 'first' %> | second | third %>
</div>
</code></pre>
<p>Expected output is:</p>
<pre><code> <div>
<%= Results: first | second | third %>
</div>
</code></pre>
<p>The first nested ERB tag is skipped. The same happens when there is just one block nested.</p>
<p>This is reproducible in Rails v4.1.8, which is using Erubis v2.7.0.</p> Ruby master - Bug #10525 (Rejected): SegFault with mysql2 gemhttps://bugs.ruby-lang.org/issues/105252014-11-19T04:02:47Ztadlambjr (Tad Lamb)
<p>I received this segfault when executing the command<br>
<code>bundle exec rake db:migrate</code></p> Ruby master - Feature #10510 (Closed): Remove REXML instead of patching ithttps://bugs.ruby-lang.org/issues/105102014-11-14T02:08:15Zgrosser (Michael Grosser)michael@grosser.it
<p>There have been at least 3 rexml vulerabilities to date,<br>
having to patch ruby just to make sure it's not being used is taking a lot<br>
of time/effort.</p>
<p>Afaik most people do not use xml anyway (and especially not rexml), just<br>
for comparison: it would make much more sense to have json included, but<br>
it's not.</p>
<p>So let's just drop it & make it a gem.</p> Ruby master - Bug #10430 (Closed): Proc instead of String as error message doesn't work.https://bugs.ruby-lang.org/issues/104302014-10-27T01:05:58Zduerst (Martin Dürst)duerst@it.aoyama.ac.jp
<p>Revision r48113 introduced Procs to delay time-consuming generation of error messages. This is a good idea, but it doesn't work for me.</p>
<p>How to reproduce: Make a small change in lib/unicode_normalize/tables.rb. Any change should do; I changed "Q" to "QQ" in one instance. Run make install(-nodoc). Run ruby test/test_unicode_normalize.rb.</p>
<p>The result I get is as follows:</p>
<pre><code>===============================================================================
Failure:
test_normalize_to_NFKD_from_source_with_nfkd(TestNormalize)
test/test_unicode_normalize.rb:38:in `block (2 levels) in generate_test_normalize'
test/test_unicode_normalize.rb:33:in `each'
test/test_unicode_normalize.rb:33:in `block in generate_test_normalize'
#<Proc:0x000006033229f0@test/test_unicode_normalize.rb:32>
<"Q"> expected but was
<"QQ">
diff:
? QQ
===============================================================================
</code></pre>
<p>The failure is expected (artificially generated). The problem is the line<br>
<code>#<Proc:0x000006033229f0@test/test_unicode_normalize.rb:32></code><br>
The Proc that is supposed to be evaluated to generate a more detailed error message (showing codepoints of the characters involved) is just converted to a String.</p>
<p>For reference, I'm using the standard bundled gems minitest-5.4.1.gem, power_assert-0.1.4.gem, and test-unit-3.0.1.gem.</p> Ruby master - Bug #10418 (Closed): REXML's encoding is broken if reading UTF-16 XML and Encondig....https://bugs.ruby-lang.org/issues/104182014-10-22T16:08:34Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<p><code>Encoding.default_internal</code>がセットされている状態でREXMLにUTF-16なIOを食わせると、<code>REXML::Document#encoding</code>がUTF-16ではなく<code>Encoding.default_internal</code>になります。<br>
以下パッチ。</p>
<pre><code class="diff syntaxhl" data-language="diff"><span class="gh">Index: lib/rexml/source.rb
===================================================================
</span><span class="gd">--- lib/rexml/source.rb (revision 48095)
</span><span class="gi">+++ lib/rexml/source.rb (working copy)
</span><span class="p">@@ -285,7 +285,7 @@</span>
case @encoding
when "UTF-16BE", "UTF-16LE"
@source.binmode
<span class="gd">- @source.set_encoding(@encoding)
</span><span class="gi">+ @source.set_encoding(@encoding, @encoding)
</span> end
@line_break = encode(">")
@pending_buffer, @buffer = @buffer, ""
<span class="gh">Index: test/rexml/test_encoding.rb
===================================================================
</span><span class="gd">--- test/rexml/test_encoding.rb (revision 48095)
</span><span class="gi">+++ test/rexml/test_encoding.rb (working copy)
</span><span class="p">@@ -91,8 +91,18 @@</span>
utf16 = File.open(fixture_path("ticket_110_utf16.xml")) do |f|
REXML::Document.new(f)
end
<span class="gd">- assert_equal(utf16.encoding, "UTF-16")
</span><span class="gi">+ assert_equal("UTF-16", utf16.encoding)
</span> assert( utf16[0].kind_of?(REXML::XMLDecl))
end
<span class="gi">+
+ def test_default_internal_with_utf16
+ orig_internal = ::Encoding.default_internal
+ ::Encoding.default_internal = 'utf-8'
+ begin
+ test_ticket_110
+ ensure
+ ::Encoding.default_internal = orig_internal
+ end
+ end
</span> end
end
<span class="err">
</span></code></pre> Ruby master - Bug #10364 (Rejected): Malformed CSV Header Causes NoMethodErrorhttps://bugs.ruby-lang.org/issues/103642014-10-10T15:53:13Zjisraelson (Jon Israelson)
<p>The method CSV#readline raises a "NoMethodError: undefined method 'encode' for nil:NilClass" exception when the CSV file's header row contains a trailing delimiter (a comma in my case). The following CSV data can be used to recreate this error:</p>
<pre><code>col1,col2,
1,2
3,4
</code></pre>
<p>The resulting stack trace:</p>
<pre><code>csv.rb:993:in `block in <class:CSV>'
csv.rb:2175:in `[]'
csv.rb:2175:in `block (2 levels) in convert_fields'
csv.rb:2173:in `each'
csv.rb:2173:in `block in convert_fields'
csv.rb:2172:in `map'
csv.rb:2172:in `with_index'
csv.rb:2172:in `convert_fields'
csv.rb:2213:in `parse_headers'
csv.rb:1887:in `block in shift'
csv.rb:1779:in `loop'
csv.rb:1779:in `shift'
</code></pre>
<p>Assuming that the header row is considered malformed (IMHO it is), it seems that it would be better to raise a CSV::MalformedCSVError exception, which can be more easily handled.</p> Ruby master - Feature #10316 (Rejected): Failsafe CSV.foreachhttps://bugs.ruby-lang.org/issues/103162014-10-02T10:06:59Ztramuntanal (Oliver Valls)tramuntanal@gmail.com
<p>I've been looking for a CSV.foreach equivalent which either</p>
<ul>
<li>ignores malformed CSV rows</li>
<li>or returns a nil row or a row with a parsed success flag.</li>
</ul>
<p>Can I collaborate to develop this functionallity? Symply sending a patch here?</p> Ruby master - Bug #10162 (Closed): Error while installing ruby 2.1.2 on freebsd https://bugs.ruby-lang.org/issues/101622014-08-22T08:06:01Zyogesh (yogesh yadav)yogesh.yadav2912@gmail.com
<p>Below is error while doing make install.</p>
<p>rm -f probes.o<br>
linking miniruby<br>
/usr/bin/ld: probes.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC<br>
probes.o: could not read symbols: Bad value<br>
*** Error code 1</p>
<p>Stop in /root/ruby-2.1.2.</p> Ruby master - Bug #10113 (Rejected): Ruby memoization behaving oddly when using hash keys with sp...https://bugs.ruby-lang.org/issues/101132014-08-06T10:11:24Zronald05arias (Ron Arias)ronald05arias@gmail.com
<p>Trying to use simple Hash memoization with a ruby hash in a class method, it "fails" when having spaces as the hash key. Example code is attached.<br>
When calling the memoization method, it fails to maintain the instance variable. It resets the variable every time the method is called.<br>
When not having spaces in the key of the Hash, it works as it should, memoizing the variable.</p>
<p>P.S. Despite my ruby version indicated bellow, it fails in the newest as well.</p> Ruby master - Feature #10083 (Rejected): String.to_i unexpected behaviorhttps://bugs.ruby-lang.org/issues/100832014-07-23T02:15:29Zjosecastro (joseph castro)joseph.castro.riquelme@gmail.com
<p>Hi</p>
<p>There's the issue:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="s2">"String"</span><span class="p">.</span><span class="nf">to_i</span> <span class="o">=></span> <span class="mi">0</span>
</code></pre>
<p>This must be NIL or at least error, but no 0, because the string is not a number, also:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="s2">"10String"</span><span class="p">.</span><span class="nf">to_i</span> <span class="o">=></span> <span class="mi">10</span>
</code></pre>
<p>Is not 10, because "10String" is not a number, maybe is necessary a new method to get a number from any string, because to_i is to convert into a Integer and that should return an error.</p>
<p>Greetings everyone</p> Ruby master - Bug #10013 (Closed): [CSV] Yielding all elements from a rowhttps://bugs.ruby-lang.org/issues/100132014-07-07T13:03:44ZGat (Dawid Janczak)dawid.janczak@gmail.com
<p>Let's say I have the following CSV file:<br>
col1,col2,col3<br>
1,2,3<br>
4,5,6<br>
(...)</p>
<p>I want to iterate over values yielding them to a block. I can do that like this:<br>
<code>CSV.foreach('file.csv') { |col1, col2, col3| print col2 + " " } # => "col2 2 5"</code><br>
This works fine, but I would like to skip the headers:<br>
<code>CSV.foreach('file.csv', headers: true) { |col1, col2, col3| print col2 + " " } # => NoMethodError</code></p>
<p>CSV yields rows as arrays if headers option is not specified and destructuring works fine.<br>
When headers option is specified however, CSV::Row objects are yielded instead and destructuring fails.</p>
<p>It would be nice to have both scenarios working in the same manner, but I don't know how to approach this. Calling to_a on yielded row (<a href="https://github.com/ruby/ruby/blob/trunk/lib/csv.rb#L1731" class="external">https://github.com/ruby/ruby/blob/trunk/lib/csv.rb#L1731</a>) worked, but obviously this would break when people actually expect CSV::Row instance. Any ideas?</p> Ruby master - Feature #9852 (Closed): How to bundle test-unit2 and minitest5https://bugs.ruby-lang.org/issues/98522014-05-19T13:26:56Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<p>I removed test-unit and minitest at <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Remove test-unit and minitest from stdlib. (Closed)" href="https://bugs.ruby-lang.org/issues/9711">#9711</a><br>
But we need to bundle testing framework with Ruby 2.2.0 continuously.</p>
<p>I hope to bundle test-unit2 and minitest5 with Ruby 2.2.0.</p>
<blockquote>
<p>kou<br>
Could you bundle and maintain test-unit2 on CRuby?</p>
</blockquote>
<blockquote>
<p>ryan<br>
Do you have any idea of gem installation mechanism with packaging?</p>
</blockquote> Ruby master - Feature #9851 (Closed): How to bundle test-unit2 and minitest5https://bugs.ruby-lang.org/issues/98512014-05-19T12:28:39Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<p>I removed test-unit and minitest at <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Remove test-unit and minitest from stdlib. (Closed)" href="https://bugs.ruby-lang.org/issues/9711">#9711</a><br>
But we need to bundle testing framework with Ruby 2.2.0 continuously.</p>
<p>I hope to bundle test-unit2 and minitest5 with Ruby 2.2.0.</p>
<blockquote>
<p>kou<br>
Could you bundle and maintain test-unit2 on CRuby?</p>
</blockquote>
<blockquote>
<p>ryan<br>
Do you have any idea of gem installation mechanism with packaging?</p>
</blockquote> Ruby master - Bug #9539 (Closed): REXML XPath UTF8 encoding problemhttps://bugs.ruby-lang.org/issues/95392014-02-20T09:10:32Zmbarcala (Mario Barcala)
<p>I found some problems in REXML when processing XPath expressions with Unicode not ascii characters. I attached a sample script and a sample document. If you see the script output, you will see two different problems:</p>
<ol>
<li>
<p>text() XPath function does not work properly when there is an accent or tilde character.</p>
</li>
<li>
<p>two different XPath paths, one with an accent and the other without it, are considered the same.</p>
</li>
</ol>
<p>Thank you,</p>
<p>Mario Barcala</p> Ruby master - Bug #9458 (Rejected): File write modehttps://bugs.ruby-lang.org/issues/94582014-01-28T17:42:19Zpradeek (pradeek kyahvi)pradeek.k@gmail.com
<p>As i am working ruby 2.1.0p0,it is found that File write mode is pushing the data in to file with out calling the close method on File Oject.When i quit the irb enviroment with out calling the close method,the data is wrote to the file.</p> Ruby master - Bug #9367 (Closed): REXML::XmlDecl doesn't use user specified quoteshttps://bugs.ruby-lang.org/issues/93672014-01-06T17:11:59Zbearmini (Takashi Oguma)bear.mini@gmail.com
<p>=begin<br>
REXML uses double quotes for quoting attributes if :attribute_quote is specified as document's context like below:</p>
<p>doc = REXML::Document.new<br>
doc.context[:attribute_quote] = :quote</p>
<p>This looks working well on all elements but has no effect for xml declaration (i.e. <?xml version= ... ?>) if it exists.</p>
<p>Even if I specify (({doc.context[:attribute_quote] = :quote})), I will get this:</p>
<?xml version='1.0' encoding='UTF-8' standalone='true'?>
<p>The expected result is:</p>
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<p>=end</p> Ruby master - Bug #9062 (Closed): lib/rexml/parsers/streamparser.rb に require "rexml/parsers/bas...https://bugs.ruby-lang.org/issues/90622013-10-31T00:54:23Zohai (Ippei Obayashi)
<p>lib/rexml/parsers/streamparser.rb は内部で REXML::Parsers::BaseParser を使っていますが<br>
rexml/parsers/baseparser を require していません。そのため StreamParser を使うとき<br>
rexml/parsers/streamparser に加えて rexml/parsers/baseparser を require する必要があります。</p>
<p>面倒ですし streamparser.rb が baseparser を require するとよいと思うのですがどうでしょうか。</p> Ruby master - Bug #9061 (Closed): REXML::Parsers::UltraLightParser で doctype を含む XML のパースがうまくいかないhttps://bugs.ruby-lang.org/issues/90612013-10-30T23:33:29Zohai (Ippei Obayashi)
<p>以下のコード (test_ulp.rb)<br>
require 'rexml/parsers/ultralightparser'<br>
require 'pp'</p>
<p>pp REXML::Parsers::UltraLightParser.new(<<XML).parse</p>
<?xml version="1.0" encoding="UTF-8" ?>
<p>]><br>
<br>
XML<br>
を動かすと、期待される出力は<br>
[[:xmldecl, "1.0", "UTF-8", nil],<br>
[:text, "\n"],<br>
[:doctype,<br>
[...],<br>
"root",<br>
"SYSTEM",<br>
"foo",<br>
nil,<br>
[:entitydecl, "f", "bar"],<br>
[:entitydecl, "g", "baz"]],<br>
[:text, "\n"],<br>
[:start_element, [...], "root", {}],<br>
[:text, "\n"]]<br>
のようなものですが、実際には<br>
[[:xmldecl, "1.0", "UTF-8", nil],<br>
[:text,<br>
"\n",<br>
[:text, "\n"],<br>
[:start_element, [...], "root", {}],<br>
[:text, "\n"]],<br>
[:start_doctype, "root", "SYSTEM", "foo", nil],<br>
[:entitydecl, "f", "bar"],<br>
[:entitydecl, "g", "baz"]]<br>
のようなものが出力されます。この出力は木構造上の :start_element<br>
や :start_doctype の位置が期待される場所と異なります。<br>
この挙動は ruby 2.1.0dev (2013-10-29 trunk 43466) [x86_64-linux] および<br>
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] で確認しました。</p>
<p>添付したパッチ(rexml-ultralightparser.patch)のように変更するとうまく動くと思います。</p> Ruby master - Bug #8979 (Closed): gem のプロキシ認証情報に @ を含むとエラーhttps://bugs.ruby-lang.org/issues/89792013-10-03T00:56:40Ztommy (Masahiro Tomita)tommy@tmtm.org
<p>gem 実行時に認証が必要なプロキシを通す場合、プロキシの認証IDまたはパスワードに「@」を含んでいるとエラーになってしまいます。</p>
<hr>
<p>% http_proxy=<a href="http://localhost:8080" class="external">http://localhost:8080</a> http_proxy_user='foo@bar' http_proxy_pass='xxx' gem list -r mysql</p>
<p>*** REMOTE GEMS ***</p>
<h2>ERROR: While executing gem ... (URI::InvalidComponentError)<br>
bad component(expected userinfo component or user component): foo@bar</h2>
<p>また、%エンコーディングされる文字を含んでいる場合は、デコードしないで認証を試みるので、認証が失敗してしまいます。</p>
<p>添付のパッチで直ると思います。</p> Ruby master - Bug #8844 (Closed): Nested ParseError in rexmlhttps://bugs.ruby-lang.org/issues/88442013-08-31T13:29:45Zohai (Ippei Obayashi)
<p>以下のように不正なXMLをパースすると<br>
require 'rexml/document'<br>
REXML::Document.new("<a>foo")<br>
例外が発生し、以下のようなメッセージが表示されます(完全なものは添付したparseerror.txt)。<br>
/home/ohai/.rbenv/versions/trunk-modified/lib/ruby/2.1.0/rexml/parsers/treeparser.rb:95:<br>
in `rescue in parse': #<REXML::ParseException: Missing end tag for 'a' (got "b") (REXML:<br>
:ParseException)<br>
Line: 1<br>
Position: 10<br>
Last 80 unconsumed characters:</a></p>
<blockquote>
</blockquote>
<pre><code> :
</code></pre>
<p>nested_parseerror.rb:3:in `'<br>
...<br>
Missing end tag for 'a' (got "b")<br>
Line: 1<br>
Position: 10<br>
Last 80 unconsumed characters:</p>
<p>Line: 1<br>
Position: 10<br>
Last 80 unconsumed characters:<br>
:<br>
同じ情報が何度も表示され、冗長です。</p>
<p>添付したパッチのように変更すればこの繰り返しはなくなるのですがどうでしょうか。</p> Ruby master - Bug #8784 (Closed): CSV - Empty fields are discarded when col_sep is a spacehttps://bugs.ruby-lang.org/issues/87842013-08-14T11:53:56Zgrim7reaper (Sylvain Laperche)sylvain.laperche@gmx.fr
<p>When using space as column delimiter, empty fields are discarded.<br>
With other delimiters, like comma, empty fields are correctly retrieved.</p>
<p>The following code reproduces the problem:</p>
<hr>
<p>#!/usr/bin/env ruby</p>
<p>require 'csv'</p>
<p>print(CSV.parse('2009,2,3,8,0,,30.1,,'))<br>
puts<br>
print(CSV.parse('2009 2 3 8 0 30.1 ', col_sep: ' '))<br>
puts</p>
<hr>
<p><em>Expected output</em><br>
[["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]]<br>
[["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]]</p>
<p><em>Current output</em><br>
[["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]]<br>
[["2009", "2", "3", "8", "0", "30.1", nil]]</p> Ruby master - Bug #8754 (Closed): Stop checking for old REXML versionshttps://bugs.ruby-lang.org/issues/87542013-08-08T23:48:17Zsteveklabnik (Steve Klabnik)steve@steveklabnik.com
<p>Given that Ruby 2.0 ships with REXML 3.1.7.3, and both REXML and RSS are in the standard library, there should be no way to have an REXML < 2.5.</p> Ruby master - Bug #8701 (Closed): REXML bug in parsing notation declarationshttps://bugs.ruby-lang.org/issues/87012013-07-28T23:20:07Zohai (Ippei Obayashi)
<p>添付したコード(test_notationdecl.rb)を実行すると、["x", "y", "z"] が表示することが期待されますが、["y", "z"] と表示されます。</p>
<p>パースに使っている正規表現の問題で, 添付したパッチ(rexml-dtd-notationdecl-fix.patch)で直ると思います。<br>
テストも添付しています。</p>
<p>このパーサではあちこちで ^ で始まる正規表現が使われていますが、おそらくすべて \A のつもりであろうと思われます。添付したパッチでは関係のある部分だけ修正していますが、他の正規表現も修正したほうが良いかもしれません。</p> Ruby master - Bug #8689 (Closed): REXML::StreamListener#entityが呼び出されないhttps://bugs.ruby-lang.org/issues/86892013-07-26T02:54:59Zohai (Ippei Obayashi)
<p>REXML::StreamListener#entity のドキュメントによると<br>
# Called when %foo; is encountered in a doctype declaration.<br>
# @p content "foo"<br>
def entity content<br>
end<br>
と書かれていますが、以下のコードを動かしても何も表示されません<br>
require 'rexml/parsers/baseparser'<br>
require 'rexml/parsers/streamparser'<br>
require 'rexml/streamlistener'<br>
xml = <<EOS</p>
EOS
<p>class Listener<br>
include REXML::StreamListener<br>
def entity(content)<br>
p content<br>
end<br>
end</p>
<p>REXML::Parsers::StreamParser.new(xml, Listener.new).parse</p>
<p>lib/rexml/parsers/streamparser.rb でもこの entity というメソッドを呼びだしている<br>
場所はないようです。</p>
<p>というわけで、なんらかの修正をする必要があるように思われます。</p>
<ul>
<li>このメソッドを削除</li>
<li>このメソッドを StreamParser から呼びだすようにする<br>
のいずれかの変更が良いでしょう。<br>
私の意見としては、このコールバックの使い道が思いつかない、おそらく誰も使っていない、ので、削除してしまって<br>
よいのではと思います。</li>
</ul> Ruby master - Bug #8602 (Closed): REXML::Element#add_text and REXML::Text#<<https://bugs.ruby-lang.org/issues/86022013-07-05T03:36:10Zohai (Ippei Obayashi)
<p>以下のコードは "foo bar" が出力されることが期待されますが実際には "foo" が出力されます。<br>
require 'rexml/document'<br>
doc = REXML::Document.new("")<br>
doc.root.add_text("foo")<br>
doc.to_s<br>
doc.root.add_text(" bar")<br>
p doc.root.to_s<br>
doc.to_s の部分をコメントアウトすると挙動が変わり "foo bar" が出力されます。</p>
<p>REXML::Element#add_text が呼び出している REXML::Text#<< が内部状態(@string)を変化させているにもかかわらず<br>
キャッシュ(@normalized, @unnormalized)をクリアしていないのが原因だと思われます。</p>
<p>添付したパッチで修正されると思います。</p> Ruby master - Feature #8461 (Closed): Easy way to disable certificate checking in XMLRPC::Clienthttps://bugs.ruby-lang.org/issues/84612013-05-29T22:01:10Zherwinw (Herwin Quarantainenet)herwin@quarantainenet.nl
<p>I have an awful lot of XMLRPC code that does the following:</p>
<p>c = XMLRPC::Client.new(....)<br>
c.instance_variable_get(:@http).instance_variable_set(:@verify_mode, OpenSSL::SSL::VERIFY_NONE)</p>
<p>It would be nice if some syntactic sugar would be added so I could just do something like this:</p>
<p>c.set_ssl_verify_mode(OpenSSL::SSL::VERIFY_NONE)</p> Ruby master - Bug #8417 (Rejected): assert_in_epsilon(-1, -1) failedhttps://bugs.ruby-lang.org/issues/84172013-05-18T06:46:56Zno6v (Nobuhiro IMAI)nov@yo.rim.or.jp
<p>=begin<br>
assert_in_epsilon(-1, -1) failed as below:</p>
<p>require "test/unit"</p>
<p>class AssertInEpsilonTest < Test::Unit::TestCase<br>
def test_plus<br>
assert_in_epsilon(1, 1)<br>
end</p>
<p>def test_minus<br>
assert_in_epsilon(-1, -1)<br>
end<br>
end</p>
<a name="gtgt-Loaded-suite-"></a>
<h1 >>> Loaded suite -<a href="#gtgt-Loaded-suite-" class="wiki-anchor">¶</a></h1>
<a name="gtgt-Started"></a>
<h1 >>> Started<a href="#gtgt-Started" class="wiki-anchor">¶</a></h1>
<a name="gtgt-F"></a>
<h1 >>> F<a href="#gtgt-F" class="wiki-anchor">¶</a></h1>
<a name="gtgt-"></a>
<h1 >>> ===============================================================================<a href="#gtgt-" class="wiki-anchor">¶</a></h1>
<a name="gtgt-Failure"></a>
<h1 >>> Failure:<a href="#gtgt-Failure" class="wiki-anchor">¶</a></h1>
<a name="gtgt-lt-1gt-lt-1gt-lt0001gt-0001-expected-to-include"></a>
<h1 >>> <-1> -/+ (<-1> * <0.001>)[-0.001] expected to include<a href="#gtgt-lt-1gt-lt-1gt-lt0001gt-0001-expected-to-include" class="wiki-anchor">¶</a></h1>
<a name="gtgt-lt-1gt"></a>
<h1 >>> <-1>.<a href="#gtgt-lt-1gt" class="wiki-anchor">¶</a></h1>
<a name="gtgt"></a>
<h1 >>><a href="#gtgt" class="wiki-anchor">¶</a></h1>
<a name="gtgt-Relation"></a>
<h1 >>> Relation:<a href="#gtgt-Relation" class="wiki-anchor">¶</a></h1>
<a name="gtgt-ltlt-1gt-lt-lt-1gt-lt-1gtlt0001gt-0999-lt-lt-1gtlt-1gtlt0001gt-1001gt"></a>
<h1 >>> <<-1> < <-1>-(<-1><em><0.001>)[-0.999] <= <-1>+(<-1></em><0.001>)[-1.001]><a href="#gtgt-ltlt-1gt-lt-lt-1gt-lt-1gtlt0001gt-0999-lt-lt-1gtlt-1gtlt0001gt-1001gt" class="wiki-anchor">¶</a></h1>
<a name="gtgt-test_minusAssertInEpsilonTest"></a>
<h1 >>> test_minus(AssertInEpsilonTest)<a href="#gtgt-test_minusAssertInEpsilonTest" class="wiki-anchor">¶</a></h1>
<a name="gtgt-9in-test_minus"></a>
<h1 >>> -:9:in `test_minus'<a href="#gtgt-9in-test_minus" class="wiki-anchor">¶</a></h1>
<a name="gtgt--2"></a>
<h1 >>> ===============================================================================<a href="#gtgt--2" class="wiki-anchor">¶</a></h1>
<a name="gtgt--3"></a>
<h1 >>> .<a href="#gtgt--3" class="wiki-anchor">¶</a></h1>
<a name="gtgt-2"></a>
<h1 >>><a href="#gtgt-2" class="wiki-anchor">¶</a></h1>
<a name="gtgt-Finished-in-001199642-seconds"></a>
<h1 >>> Finished in 0.01199642 seconds.<a href="#gtgt-Finished-in-001199642-seconds" class="wiki-anchor">¶</a></h1>
<a name="gtgt-3"></a>
<h1 >>><a href="#gtgt-3" class="wiki-anchor">¶</a></h1>
<a name="gtgt-2-tests-2-assertions-1-failures-0-errors-0-pendings-0-omissions-0-notifications"></a>
<h1 >>> 2 tests, 2 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications<a href="#gtgt-2-tests-2-assertions-1-failures-0-errors-0-pendings-0-omissions-0-notifications" class="wiki-anchor">¶</a></h1>
<a name="gtgt-50-passed"></a>
<h1 >>> 50% passed<a href="#gtgt-50-passed" class="wiki-anchor">¶</a></h1>
<a name="gtgt-4"></a>
<h1 >>><a href="#gtgt-4" class="wiki-anchor">¶</a></h1>
<a name="gtgt-16672-testss-16672-assertionss"></a>
<h1 >>> 166.72 tests/s, 166.72 assertions/s<a href="#gtgt-16672-testss-16672-assertionss" class="wiki-anchor">¶</a></h1>
<p>Though I'm not sure the difference between "test" and "minitest",<br>
minitest seems to be succeeded.</p>
<p>require "minitest/unit"</p>
<p>MiniTest::Unit::TestCase.new(?-).assert_in_epsilon(-1, -1)<br>
=end</p> Ruby master - Bug #8302 (Closed): REXML::Text の entity_filter が有効でないhttps://bugs.ruby-lang.org/issues/83022013-04-20T17:29:23Zohai (Ippei Obayashi)
<p>REXML::Text の initialize や to_s のドキュメントによると、<br>
添付したファイル(text_entity_filter.rb)を実行すると<br>
"&f; &b;"<br>
"foo &b;"<br>
と出力されるはずですが、実際には<br>
"&f; &b;"<br>
"&f; &b;"<br>
と出力されます。</p>
<p>添付したパッチで修正されると思います。</p>
<p>しかし、この機能は何に使うのでしょうか?</p> Ruby master - Bug #8301 (Closed): REXML::Attributes#to_ahttps://bugs.ruby-lang.org/issues/83012013-04-20T16:39:54Zohai (Ippei Obayashi)
<p>添付したコード(attributs_to_a.rb)を実行すると、REXML::Attributes#to_a という名前から期待される結果は<br>
[foo:att='1', bar:att='2', att='<', baz='4']<br>
だと思うのですが、実際には<br>
[{"foo"=>foo:att='1', "bar"=>bar:att='2', ""=>att='<'}, baz='4']<br>
という結果になります。これは意図した結果ではないと思うのですがどうでしょうか。</p>
<p>添付したパッチで上の「期待される結果」になります。</p> Ruby master - Bug #8182 (Closed): XMLRPC request fails with "Wrong size. Was 31564, should be 1501"https://bugs.ruby-lang.org/issues/81822013-03-29T06:08:40Ztsagadar (Marcel Mueller)marcel.mueller@koubachi.com
<p>Since upgrading to Ruby 2.0.0p0 we can no longer use MailChimp through the Hominid gem. Hominid relies on the Ruby XMLRPC client to access MailChimp.</p>
<p>Debugging the issues revealed the following problem: net/http/response.rb transparently deflates the response body, removes the "content-encoding" response header (response.rb:255), but does not adjust the "content-length" header accordingly. This makes xmlrpc/client.rb:506 raise the error, that the response body and the declared length in "content-length" does not match.</p>
<p>I propose a high priority for this issue for two reason:</p>
<ul>
<li>The problem should occur whenever Ruby XMLRPC is used to access a service that supports content encoding with "deflate", "gzip", or "x-gzip"</li>
<li>I don't see a workaround to this problem that could be used</li>
</ul> Ruby master - Bug #7481 (Closed): gem cleanup が正常に完了しないhttps://bugs.ruby-lang.org/issues/74812012-11-30T21:46:09Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<p>gem cleanup を実行すると先頭の gem のみ cleanup に成功し、以降の gem の cleanup に失敗してしまいます。</p>
<p>% yes | gem cleanup<br>
WARN: Unresolved specs during Gem::Specification.reset:<br>
rake (>= 0.8.1)<br>
WARN: Clearing out unresolved specs.<br>
Please report a bug if this causes problems.<br>
Cleaning up installed gems...<br>
Attempting to uninstall psych-1.3.4<br>
Successfully uninstalled psych-1.3.4<br>
Attempting to uninstall mongo-1.7.1<br>
Unable to uninstall mongo-1.7.1:<br>
Gem::InstallError: mongo is not installed in GEM_HOME, try:<br>
gem uninstall -i /Users/hsbt/.rbenv/versions/2.0.0-dev/lib/ruby/gems/2.0.0 mongo</p> Ruby master - Bug #7289 (Closed): test-unit.gemspec should not be installed into StdLibhttps://bugs.ruby-lang.org/issues/72892012-11-06T17:37:32Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<p>Probably since r36872, the test-unit.gemspec is installed into StdLib (test/unit/test-unit.gemspec), where it has not meaning and it should not be installed there.</p> Ruby master - Bug #5956 (Closed): rexml - パース時のnamespaceチェックでのエラーについてhttps://bugs.ruby-lang.org/issues/59562012-02-01T15:47:22Zm-hiramatsu (Miho Hiramatsu)
<p>添付のプログラムを実行すると以下のエラーとなります。<br>
(実行環境:CentOS6)</p>
<p>The 'xml' prefix must not be bound to any other namespace (<a href="http://www.w3.org/TR/REC-xml-names/#ns-decl" class="external">http://www.w3.org/TR/REC-xml-names/#ns-decl</a>)<br>
Line: 7<br>
Position: 477</p>
<p>XMLデータ内の以下の記述に対して、<br>
xmlns:xml="<a href="http://www.w3.org/XML/1998/namespace" class="external">http://www.w3.org/XML/1998/namespace</a>"<br>
「属性"xmlns:xml"のnamespaceが"<a href="http://www.w3.org/XML/1998/namespace%22%E3%81%A7%E3%81%AA%E3%81%91%E3%82%8C%E3%81%B0%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A8%E3%81%99%E3%82%8B%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%82%92" class="external">http://www.w3.org/XML/1998/namespace"でなければエラーとする」というチェックを</a><br>
/rexml/parsers/baseparser.rb line:386付近<br>
で実行しているようですが、以下は誤りではないでしょうか。</p>
<p>[baseparser.rbのline:386付近を抜粋]<br>
...略<br>
attrs.each { |a,b,c,d,e|<br>
if b == "xmlns"<br>
if c == "xml"<br>
if d != "<a href="http://www.w3.org/XML/1998/namespace" class="external">http://www.w3.org/XML/1998/namespace</a>"<br>
msg = "The 'xml' prefix must not be bound to any other namespace "+<br>
"(<a href="http://www.w3.org/TR/REC-xml-names/#ns-decl" class="external">http://www.w3.org/TR/REC-xml-names/#ns-decl</a>)"<br>
raise REXML::ParseException.new( msg, @source, self )<br>
end<br>
...略</p>
<p>if d != "<a href="http://www.w3.org/XML/1998/namespace" class="external">http://www.w3.org/XML/1998/namespace</a>"</p>
<p>本来"d"ではなく"e"と比較すべきではないでしょうか。</p> Ruby master - Bug #5892 (Rejected): REXML always wraps long tag text regardless the page width se...https://bugs.ruby-lang.org/issues/58922012-01-13T22:42:06Zdimitri-lo2u (Dimitri Geshef)famished.tiger@yahoo.com
<p>When ones prints a REXML document that contains a tag with a long text (with space chars), the REXML::Formatters::Pretty formatter will force a line wrapping at column 80.<br>
If one changes the value of the width attribute of the formatter to a very large value does not change the result.<br>
In other words, the formatter ignores the value of the 'width' attribute.<br>
The REXML version used is:<br>
REXML VERSION = "3.1.7.3"<br>
REXML REVISION = 26193</p>
<p>Apparently, the defect lies in the method REXML::Formatters::Pretty#write_text.<br>
There is a statement with a hardcoded value of 80.<br>
Look in the .rb file in attachment for a possible fix of this bug.</p> Ruby master - Bug #5774 (Closed): [PATCH] xmlrpc client handling cookieshttps://bugs.ruby-lang.org/issues/57742011-12-18T12:55:42Zromanr (Roman Riha)
<p>=begin<br>
xmlrpc client does not properly handle cookies. Firstly, they do not persist if server sets new cookies, secondly, if the server sets the same cookie more than once, the older cookies will not be overwritten.</p>
<p>For example this<br>
Set-Cookie: foo=deleted<br>
Set-Cookie: foo=bar<br>
will set the cookie property to "foo=deleted; foo=bar", which is incorrect.</p>
<p>I wrote a patch, that handles both of these issues. However, the patch does not add method to delete cookies or reset the session, which might be useful.</p> Ruby master - Bug #5278 (Closed): REXML -- Malformed commenthttps://bugs.ruby-lang.org/issues/52782011-09-06T07:07:03Ztbf (Thomas Fritzsche)tf@noto.de
<p>Hi Ruby-Team,</p>
<p>I use lib rexml for XML parsing. Kanjidic2 XML-File: <a href="http://www.csse.monash.edu.au/~jwb/kanjidic2/%E3%80%80" class="external">http://www.csse.monash.edu.au/~jwb/kanjidic2/ </a> (I do not attach file because it it too large)<br>
It works with version 1.8.7 but PaseException ("Malformed comment" is raised in lib/rexml/parsers/baseparser.rb</p>
<a name="My-Code-looks-like-this"></a>
<h2 >My Code looks like this:<a href="#My-Code-looks-like-this" class="wiki-anchor">¶</a></h2>
<p>require 'rexml/document'<br>
require 'rexml/streamlistener'<br>
class KanjiListener<br>
include REXML::StreamListener<br>
end</p>
<h2>f = File.new("kanji.xml","rb")<br>
list = KanjiListener.new<br>
REXML::Document.parse_stream(f, list)</h2>
<p>The used XML-File from above link has a comment section that looks like:</p>
<p>...<br>
<br>
...</p>
<p>It's strange but the parser fails at "self- documented".</p>
<p>The issue comes up here (about line 345):<br>
...<br>
if md[0][2] == ?-<br>
md = @source.match( COMMENT_PATTERN, true )</p>
<pre><code> case md[1]
when /--/, /-$/
raise REXML::ParseException.new("Malformed comment", @source)
end
</code></pre>
<p>...</p>
<p>The MatchingData md[1] contains the complete comment and than regular expression /-$/ matches.<br>
From Debugging I guess the original Buffer is read by "readline" and somehow still includes the end-of-line markers.</p>
<p>I tried to open the original FileIO with different newline-parameters but nothing helped. I tried different ruby versions (incl. todays 1.9.3-head) but complete 1.9 seems to have the problem while 1.8 works.<br>
I meanwhile converted to nokogiri XML-Parser and this works without problem on 1.9.x and I would expect that REXML could parse this too. For test purpose I just changed a single character on this file so that "/-$/" does not match "self-" in original XML file and than it works.</p>
<p>どうぞよろしくお願いします。</p> Ruby master - Feature #4872 (Closed): REXML::XMLDecl#encodingがStringではなくEncodingを返すようにするhttps://bugs.ruby-lang.org/issues/48722011-06-11T23:14:09Zkou (Kouhei Sutou)kou@cozmixng.org
<p>経緯は <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: tests of rexml/rss reports many errors and failures without iconv (Closed)" href="https://bugs.ruby-lang.org/issues/3990">#3990</a> の後ろの方の流れを参照。</p>
<p>1.9.3がリリースされてからやる。</p> Ruby master - Bug #4498 (Closed): REXML Pretty formater does use specified 'width' to wrap lineshttps://bugs.ruby-lang.org/issues/44982011-03-13T04:58:43Zmfrasca (Michael Frasca)michael.frasca@gmail.com
<p>=begin<br>
REXML::Formatters::Pretty has 'width' attribute used to wrap lines. This is not used when the wrap method is invoked</p>
<a name="prettyrb"></a>
<h1 >pretty.rb<a href="#prettyrb" class="wiki-anchor">¶</a></h1>
<p>def write_text( node, output )<br>
s = node.to_s()<br>
s.gsub!(/\s/,' ')<br>
s.squeeze!(" ")<br>
s = wrap(s, 80-@level) ## HERE - 80 is hard coded, value should depend on @width and @level (e.g. @width - @level)<br>
s = indent_text(s, @level, " ", true)<br>
output << (' '*@level + s)<br>
end<br>
=end</p> Ruby master - Bug #4177 (Closed): wrong fixed value at test/rexml/test_sax.rb(test_socket)https://bugs.ruby-lang.org/issues/41772010-12-21T01:10:45Ztarui (Masaya Tarui)tarui@prx.jp
<p>=begin<br>
test/rexml/test_sax.rb の test_socketでportが12345番固定でテストされているため、<br>
12345番が使用されている時にerrorになります。<br>
テスト内容を見るに固定する必要はなさそうなので普通にシステムに割り振ってもらえばいいと思います。</p>
<p>#とあるアンチウィルスソフトがこのポートを占拠していたりします。<br>
=end</p> Ruby master - Bug #4176 (Closed): wrong fixed value at test_contrib.rb(test_pos)https://bugs.ruby-lang.org/issues/41762010-12-21T01:02:14Ztarui (Masaya Tarui)tarui@prx.jp
<p>=begin<br>
test/rexml/test_contrib.rbのtest_posでtestfileが/tmpの存在を仮定してますが、<br>
Tempfileを使うべきだと思います。</p>
<p>#windowsでは標準では/tmpがないのでerrorになります。<br>
=end</p> Ruby master - Bug #4161 (Closed): ReXML wants "elements.each" argument to be not frozenhttps://bugs.ruby-lang.org/issues/41612010-12-15T19:18:11Zshvedsky (Pavel Shved)pavel.shved@gmail.com
<p>=begin<br>
Here's a simple program that uses ReXML:</p>
<p>require 'rexml/document'<br>
doc = REXML::Document.new File.new(ARGV[0])<br>
query = "element".freeze<br>
doc.elements.each(query) do |elem|<br>
puts elem.name<br>
end</p>
<p>I expected the program to work without errors (when called with a valid XML file as its first command-line argument). However the program fails with a backtrace:</p>
<p>/home/pavel/ruby-1.9/lib/ruby/1.9.1/rexml/parsers/xpathparser.rb:20:in <code>gsub!': can't modify frozen string (RuntimeError) from /home/pavel/ruby-1.9/lib/ruby/1.9.1/rexml/parsers/xpathparser.rb:20:in </code>parse'<br>
from /home/pavel/ruby-1.9/lib/ruby/1.9.1/rexml/xpath_parser.rb:57:in <code>parse' from /home/pavel/ruby-1.9/lib/ruby/1.9.1/rexml/xpath.rb:64:in </code>each'<br>
from /home/pavel/ruby-1.9/lib/ruby/1.9.1/rexml/element.rb:906:in <code>each' from a.rb:5:in </code>'</p>
<p>If the string is not frozen, it works well. In ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] it also works well.</p>
<p>Is there any reason to require the argument of elements_each to be frozen?<br>
=end</p> Ruby master - Bug #4083 (Closed): warning in rexml/doctype.rbhttps://bugs.ruby-lang.org/issues/40832010-11-24T02:29:28Ztenderlovemaking (Aaron Patterson)tenderlove@ruby-lang.org
<p>=begin<br>
rexml/doctype.rb produces this warning:</p>
<p>/Users/apatterson/.local/lib/ruby/1.9.1/rexml/doctype.rb:254: warning: `+' after local variable is interpreted as binary operator<br>
/Users/apatterson/.local/lib/ruby/1.9.1/rexml/doctype.rb:254: warning: even though it seems like unary operator</p>
<p>I've attached a patch that fixes the problem.<br>
=end</p> Ruby master - Bug #4067 (Closed): [PATCH] Fix SystemStackError when trying to format a large bloc...https://bugs.ruby-lang.org/issues/40672010-11-18T07:46:10Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<p>=begin<br>
REXML::Formatters::Pretty#wrap used a recursive method call to format text. This patch switches it to use an iterative approach. It includes a test case exposing the error.</p>
<p>This issue isn't theoretical, it happens when using rcov with Sequel's test suite.</p>
<p>Tested on 1.9.2p0, but patch is against trunk.<br>
=end</p> Ruby master - Feature #4017 (Rejected): [PATCH] CSV parsing speeduphttps://bugs.ruby-lang.org/issues/40172010-11-03T09:43:11Zender672 (Timothy Elliott)tle@holymonkey.com
<p>=begin<br>
ruby_19_csv_parser_split_methods.patch<br>
This patch breaks the CSV parser into multiple methods that are easier to understand and it allows for the performance optimizations in the second patch. It removes all regular expressions from the parser, resulting in a ~25% speed improvement in the CSV test suite. It adds a new CSV parser option, :io_read_limit, which determines the max size for IO reads. This option defaults to 2048 which to was the fastest in my benchmarks.</p>
<p>ruby_19_csv_parser_split_methods.patch<br>
This patch adds two shortcuts to the patch above that significantly improve parsing of CSV files that have many quoted columns. It has to be applied on top of the first patch.</p>
<p>On large CSV files I observed that these patches resulted in a 20% - 60% reduction of time it takes to parse. If this patchset looks good, I would like to experiment with further improvements that take advantage of io_read_limit to always read from IO in large chunks (right now it only does so with CSV files that have no quote characters).</p>
<p>These patches maintain m17n support and multi-character separator support (and boy, it's tough to make those tests happy :)<br>
=end</p> Ruby master - Bug #3990 (Closed): tests of rexml/rss reports many errors and failures without iconvhttps://bugs.ruby-lang.org/issues/39902010-10-27T20:47:52Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<p>=begin<br>
iconv.soがない環境でtest-allを実行すると、rexmlとrssのテストで<br>
結構な数のEとFが発生します。<br>
ひどいテストになると require "iconv" とかいきなり書いてあったり<br>
とかします。</p>
<p>そもそも現代だとiconvを使う必然性がほとんどないと思うのですが、<br>
どうでしょうか?(代わりにString#encodeを使う)<br>
それが叶わないなら、せめてテストでiconv必須なものはiconvがないなら<br>
skipするようにしてほしいです。<br>
=end</p> Ruby master - Bug #3842 (Closed): REXML gives NoMethodError when using parentheses in Xpath selec...https://bugs.ruby-lang.org/issues/38422010-09-17T04:00:23Zhalfgaar (Wiebe Cazemier)wiebe@halfgaar.net
<p>=begin<br>
When using a selection criterion as follows:</p>
<p>xmldoc.elements.each("descendant::node()[(local-name()='link' or local-name()='a') and @rel='sub']")</p>
<p>It gives:</p>
<p>/usr/lib/ruby/1.9.1/rexml/xpath_parser.rb:437:in <code>expr': undefined method </code>inject' for true:TrueClass (NoMethodError)</p>
<p>But when leaving out the parentheses around two two local-name functions, it works fine.</p>
<p>It also worked fine on Ruby 1.8.<br>
=end</p> Ruby master - Bug #3686 (Closed): Error in parsing musicbrainz.org with rexmlhttps://bugs.ruby-lang.org/issues/36862010-08-13T00:45:25Zvinc-mai (Vincent Carmona)vinc4mai@gmail.com
<p>=begin<br>
rexml (ruby 1.9.1) fails to parse this url <a href="http://musicbrainz.org/show/puid/?puid=c6a6717f-6d88-4d0e-4c57-d6b949118072" class="external">http://musicbrainz.org/show/puid/?puid=c6a6717f-6d88-4d0e-4c57-d6b949118072</a> .</p>
<p>require 'net/http'<br>
require 'rexml/document'</p>
<p>url='<a href="http://musicbrainz.org/show/puid/?puid=c6a6717f-6d88-4d0e-4c57-d6b949118072" class="external">http://musicbrainz.org/show/puid/?puid=c6a6717f-6d88-4d0e-4c57-d6b949118072</a>'<br>
res=Net::HTTP.get_response(URI.parse(url))<br>
doc=REXML::Document.new(res.body)</p>
<p>/usr/lib/ruby/1.9.1/rexml/parsers/treeparser.rb:95:in <code>rescue in parse': #<RuntimeError: Undeclared entity '&raquo;' in raw string "Skip to main content &raquo;"> (REXML::ParseException) /usr/lib/ruby/1.9.1/rexml/text.rb:165:in </code>block in check'<br>
/usr/lib/ruby/1.9.1/rexml/text.rb:153:in <code>scan' /usr/lib/ruby/1.9.1/rexml/text.rb:153:in </code>check'<br>
/usr/lib/ruby/1.9.1/rexml/text.rb:125:in <code>parent=' /usr/lib/ruby/1.9.1/rexml/parent.rb:19:in </code>add'<br>
/usr/lib/ruby/1.9.1/rexml/parsers/treeparser.rb:45:in <code>parse' /usr/lib/ruby/1.9.1/rexml/document.rb:228:in </code>build'<br>
/usr/lib/ruby/1.9.1/rexml/document.rb:43:in `initialize'</p>
<p>$ ruby1.9.1 --version<br>
ruby 1.9.1p378 (2010-01-10 revision 26273) [i486-linux]</p>
<p>ruby 1.8.7 can parse these data.<br>
=end</p> Ruby 1.8 - Bug #367 (Closed): ruby_1_8のrssで3Ehttps://bugs.ruby-lang.org/issues/3672008-07-27T22:27:25Zznz (Kazuhiro NISHIYAMA)
<p>=begin<br>
環境によってはrssでErrorが出ます。</p>
<ol>
<li>
<p>Error:<br>
test_atom_content(RSS::TestAtomCore):<br>
LoadError: no such file to load -- zlib<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_atom.rb:644:in <code>require' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_atom.rb:644:in </code>assert_atom_content_inline_other_base64_to_s'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_atom.rb:643:in <code>assert_atom_content_inline_other_base64_to_s' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_atom.rb:604:in </code>assert_atom_content_to_s'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_atom.rb:600:in <code>assert_atom_content_to_s' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_atom.rb:205:in </code>test_atom_content'</p>
</li>
<li>
<p>Error:<br>
test_entry_content_text(RSS::TestParserAtom):<br>
LoadError: no such file to load -- zlib<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:560:in <code>require' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:560:in </code>assert_atom_content_inline_other_text'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:559:in <code>assert_atom_content_inline_other_text' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:553:in </code>assert_atom_content_inline_other'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:552:in <code>assert_atom_content_inline_other' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:459:in </code>assert_atom_content'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:456:in <code>assert_atom_content' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_parser_atom_entry.rb:100:in </code>test_entry_content_text'</p>
</li>
<li>
<p>Error:<br>
test_entry_content(RSS::TestParserAtomFeed):<br>
LoadError: no such file to load -- zlib<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:560:in <code>require' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:560:in </code>assert_atom_content_inline_other_text'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:559:in <code>assert_atom_content_inline_other_text' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:553:in </code>assert_atom_content_inline_other'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:552:in <code>assert_atom_content_inline_other' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:459:in </code>assert_atom_content'<br>
/home/kazu/wc/ruby-lang/ruby_1_8/test/rss/rss-assertions.rb:456:in <code>assert_atom_content' /home/kazu/wc/ruby-lang/ruby_1_8/test/rss/test_parser_atom_feed.rb:147:in </code>test_entry_content'</p>
</li>
</ol>
<p>1847 tests, 1343396 assertions, 0 failures, 3 errors<br>
=end</p>