Ruby Issue Tracking System: Issueshttps://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112023-01-02T12:50:53ZRuby Issue Tracking System
Redmine Ruby master - Bug #19295 (Closed): Time#wday returns 7https://redmine.ruby-lang.org/issues/192952023-01-02T12:50:53Zakostadinov (Aleksandar Kostadinov)akostadinov@gmail.com
<p>This issue happens since Ruby 2.7, since <code>Z</code> and <code>UTC</code> are allowed for a zone.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="n">pry</span><span class="p">(</span><span class="n">main</span><span class="p">)</span><span class="o">></span> <span class="no">Time</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mi">2023</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"UTC"</span><span class="p">).</span><span class="nf">wday</span>
<span class="o">=></span> <span class="mi">7</span>
<span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="n">pry</span><span class="p">(</span><span class="n">main</span><span class="p">)</span><span class="o">></span> <span class="no">Time</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mi">2023</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Z"</span><span class="p">).</span><span class="nf">wday</span>
<span class="o">=></span> <span class="mi">7</span>
</code></pre>
<p>This also breaks all weekday <code>Time#monday?</code>, etc. methods.</p> Ruby master - Bug #17139 (Closed): [doc] StringScanner#matched_size seems to be byte-oriented but...https://redmine.ruby-lang.org/issues/171392020-09-01T16:31:28Zakostadinov (Aleksandar Kostadinov)akostadinov@gmail.com
<p>StringScanner#matched_size seems to be byte oriented. But that is not documented. Better be documented to avoid confusion.</p>
<p>[1] pry(main)> ss = StringScanner.new([1024].pack("U*"))<br>
[3] pry(main)> ss.skip_until(/./)<br>
[4] pry(main)> ss.matched_size<br>
=> 2<br>
[5] pry(main)> ss.matched.size<br>
=> 1</p> Ruby master - Bug #11638 (Closed): [doc] misleading IO.write offset descriptionhttps://redmine.ruby-lang.org/issues/116382015-10-30T09:47:56Zakostadinov (Aleksandar Kostadinov)akostadinov@gmail.com
<p>"If offset is not given, the file is truncated. Otherwise, it is not truncated."</p>
<p>The above is NOT true when 'a' mode is used. I'd suggest to clarify in documentation that offset is usually 0 if not specified but in 'a' mode it is at end of file or something along these lines.</p>
<p><a href="http://ruby-doc.org/core-2.2.0/IO.html#method-c-write" class="external">http://ruby-doc.org/core-2.2.0/IO.html#method-c-write</a></p> Ruby master - Bug #11489 (Closed): XMLRPC client cannot alter SSL options for _async callshttps://redmine.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://redmine.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 #11236 (Closed): inconsistent behavior using ** vs hash as method parameterhttps://redmine.ruby-lang.org/issues/112362015-06-08T21:05:14Zakostadinov (Aleksandar Kostadinov)akostadinov@gmail.com
<p>Using ruby 2.2.2 I see this work:</p>
<pre><code>[18] pry(main)> def test(cmd, opts={})
[18] pry(main)* puts cmd,opts
[18] pry(main)* end
=> :test
[19] pry(main)> test(:ads, :d => 6, :f => :gah, {a:3,b:4} => 3)
ads
{:d=>6, :f=>:gah, {:a=>3, :b=>4}=>3}
=> nil
</code></pre>
<p>But this fails:</p>
<pre><code>[2] pry(main)> def test(cmd, **opts)
[2] pry(main)* puts cmd, opts
[2] pry(main)* end
[9] pry(main)> test(:ads, :d => 6, :f => :gah, {a:3,b:4} => 3)
ArgumentError: wrong number of arguments (2 for 1)
from (pry):2:in `test'
</code></pre> Ruby master - Feature #10900 (Closed): GzipReader does not define `#external_encoding`https://redmine.ruby-lang.org/issues/109002015-02-24T16:27:46Zakostadinov (Aleksandar Kostadinov)akostadinov@gmail.com
<p>Hello,</p>
<p>I want to store/load some <strong>yaml</strong> and other text data in gz for space efficiency. I thought it's most efficient to read/write directly to/from a gzip stream. But seems like the <strong>GzipReader</strong> io object does not support everything that a regular file io object does. I spotted the <strong>#external_encoding</strong> method. So for example to load YAML directly from gzip I use the following method:</p>
<pre><code> def load_yaml_from_gz(gz)
loaded = nil
Zlib::GzipReader.open(gz) do |f|
class << f
def external_encoding
Encoding::UTF_8
end
end
loaded = YAML.load(f, gz)
end
return loaded
end
</code></pre>
<p>I need the monkey-patching because otherwise the YAML.load method fails for no <strong>#external_encoding</strong> method defined.</p>
<p>To avoid monkey patching just to read some text from a gzip archive I propose that GzipReader implements <strong>#external_encoding</strong> the same way as <strong>File</strong> does.</p>