Skip to content

Instantly share code, notes, and snippets.

diff --git a/activerecord/lib/active_record/explain.rb b/activerecord/lib/active_record/explain.rb
index 727a9be..1d9dde0 100644
--- a/activerecord/lib/active_record/explain.rb
+++ b/activerecord/lib/active_record/explain.rb
@@ -16,14 +16,14 @@ module ActiveRecord
# Makes the adapter execute EXPLAIN for the tuples of queries and bindings.
# Returns a formatted string ready to be logged.
def exec_explain(queries) # :nodoc:
- str = queries.map do |sql, bind|
+ str = queries.map do |sql, bind, connection_id|
@senny
senny / description.md
Last active August 29, 2015 14:27
`Array#flatten` ignores `respond_to_missing?` when calling `to_ary`

This issue was reported on bugs.ruby-lang.org: https://bugs.ruby-lang.org/issues/11465

The issue appears when using Array#flatten on an instance of Array containing instances of a Class that implements method_missing. Ruby still calls #to_ary even when said class implements respond_to_missing? and returns false for to_ary. Everything works when the class also overwrites respond_to?.

Questions:

  1. Is it expected that respond_to_missing? has no effect in the scenario above?
  2. Should a possible workaround rather define a respond_to? method or overwrite to_ary and return nil?
<p>bullet deeply nested</p>
<ul>
<li>lorem ipsum</li>
<li>
consectetur adipiscing elit
<ul>
<li>
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
<ul>
<li>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo <u>consequat</u>. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</li>
@senny
senny / totp.rb
Last active October 24, 2017 09:05 — forked from thibaudgg/totp.rb
class TOTP
attr_reader :secret, :digits, :digest, :interval
DEFAULT_INTERVAL = 30
DEFAULT_DIGITS = 6
def initialize(s, options = {})
@interval = options[:interval] || DEFAULT_INTERVAL
@digits = options[:digits] || DEFAULT_DIGITS
@digest = options[:digest] || "sha1"