I suspect it could be a combination of factors. This is something that
could explain what you see:

1. Parser::Typography::Base is autoloaded

2. Parser::Typography::CharTypographer is autoloaded

3. Files change and a new request comes

4. Parser::Base is autoloaded

5. Parser::Typography::CharTypographer is autoloaded

If that happened, it would explain why you see this mismatch only
sometimes, it would depend on whether 4 happened or not before getting to 5
and that would depend on the order of execution of a particular request.

Problem is "require". When 5 runs, require says it already loaded that file
so it passes. But if 1 happened Parser::Typography::Base would have been
removed after 3. If 4 happened Ruby is able to resolve "Base" to Parser::Base
and AS never gets a chance. If 4 didn't happen then AS autoloads
Parser::Typography::Base
because it goes first in the search. See where does the randomness may come
from?

That's a possible explanation and it wouldn't be a bug, please change the
require line with

    require_dependency 'parser/typography/base'

Xavier

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to