Alright I updated camping to .405, did a pristine on Tilt (v1.0.1),
removed the include X from my Base module and my controllers are still
being found (no anonymous modules errors).

Re: your test, I required camping/template and got this:

NameError: uninitialized constant Riki::Base::Template
        
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:440:in
`load_missing_constant'
        
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:80:in
`const_missing'
        (eval):13:in `lookup'
        (eval):12:in `fetch'
        (eval):12:in `lookup'
        (eval):15:in `render'
        ./riki/controllers.rb:11:in `get'
        (eval):28:in `send'
        (eval):28:in `service'
        (eval):28:in `catch'
        (eval):28:in `service'
        (eval):39:in `call'
        
/usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/session/cookie.rb:37:in
`call'
        (eval):43:in `call'
        
/usr/local/lib/ruby/gems/1.8/gems/camping-2.0.405/bin/../lib/camping/server.rb:176:in
`call'
        /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/lint.rb:47:in 
`_call'
        /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/lint.rb:35:in 
`call'
        
/usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/showexceptions.rb:24:in
`call'
        
/usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/commonlogger.rb:18:in
`call'
        
/usr/local/lib/ruby/gems/1.8/gems/camping-2.0.405/bin/../lib/camping/server.rb:242:in
`call'
        
/usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/content_length.rb:13:in
`call'
        
/usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/handler/webrick.rb:48:in
`service'
        /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
        /usr/local/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
        /usr/local/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
        /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start'
        /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
        /usr/local/lib/ruby/1.8/webrick/server.rb:95:in `start'
        /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `each'
        /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `start'
        /usr/local/lib/ruby/1.8/webrick/server.rb:23:in `start'
        /usr/local/lib/ruby/1.8/webrick/server.rb:82:in `start'
        
/usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/handler/webrick.rb:14:in
`run'
        /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/server.rb:155:in 
`start'
        
/usr/local/lib/ruby/gems/1.8/gems/camping-2.0.405/bin/../lib/camping/server.rb:144:in
`start'
        /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/server.rb:83:in 
`start'
        /usr/local/lib/ruby/gems/1.8/gems/camping-2.0.405/bin/camping:9
        /usr/local/bin/camping:19:in `load'
        /usr/local/bin/camping:19


On Fri, Jul 23, 2010 at 5:44 PM, Magnus Holm <judo...@gmail.com> wrote:
> You'll have to agree that "include X" sounds so much better than
> "include Controllers"? :-)
>
> Could you test one more thing for me? Without a Tilt patch, can you
> add `require 'camping/templates'` right after `require 'camping'` and
> check if it still works?
>
> Here you go: `gem install camping --source http://gems.judofyr.net/`
>
> // Magnus Holm
>
>
>
> On Fri, Jul 23, 2010 at 21:48, David Susco <dsu...@gmail.com> wrote:
>> lol, at first I thought you were messing with me. X is the apps
>> Controllers module, correct?
>>
>> Will I always have to do this when using Tilt? Or only until this
>> patch makes it into a gem?
>>
>> Dave
>>
>> On Fri, Jul 23, 2010 at 3:09 PM, Magnus Holm <judo...@gmail.com> wrote:
>>> Wait, forget about that Tilt patch. Try this instead:
>>>
>>>  module App
>>>    include X
>>>  end
>>>
>>> // Magnus Holm
>>>
>>>
>>>
>>> On Fri, Jul 23, 2010 at 18:01, David Susco <dsu...@gmail.com> wrote:
>>>> Hey Magnus, I patched the files and it's still the same thing. Here's
>>>> the backtrace, let me know if you want browser dump as well.
>>>>
>>>> 127.0.0.1 - - [23/Jul/2010 11:48:39] "GET /Home HTTP/1.1" 500 95353 0.3607
>>>> ArgumentError: Anonymous modules have no name to be referenced by
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:585:in
>>>> `to_constant_name'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:391:in
>>>> `qualified_name_for'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:104:in
>>>> `const_missing'
>>>>        /var/www/apps/crud/riki/views/layout.haml:23:in `evaluate_source'
>>>>        /usr/local/lib/ruby/gems/1.8/gems/tilt-1.0.1/lib/tilt.rb:195:in 
>>>> `evaluate'
>>>>        /usr/local/lib/ruby/gems/1.8/gems/tilt-1.0.1/lib/tilt.rb:560:in 
>>>> `evaluate'
>>>>        /usr/local/lib/ruby/gems/1.8/gems/tilt-1.0.1/lib/tilt.rb:128:in 
>>>> `render'
>>>>        (eval):15:in `render'
>>>>        (eval):15:in `render'
>>>>        ./riki/controllers.rb:85:in `get'
>>>>        (eval):27:in `send'
>>>>        (eval):27:in `service'
>>>>        (eval):27:in `catch'
>>>>        (eval):27:in `service'
>>>>        (eval):38:in `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/session/cookie.rb:37:in
>>>> `call'
>>>>        (eval):42:in `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/camping-2.0.392/bin/../lib/camping/server.rb:176:in
>>>> `call'
>>>>        /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/lint.rb:47:in 
>>>> `_call'
>>>>        /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/lint.rb:35:in 
>>>> `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/showexceptions.rb:24:in
>>>> `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/commonlogger.rb:18:in
>>>> `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/camping-2.0.392/bin/../lib/camping/server.rb:242:in
>>>> `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/content_length.rb:13:in
>>>> `call'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/handler/webrick.rb:48:in
>>>> `service'
>>>>        /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
>>>>        /usr/local/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:95:in `start'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `each'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `start'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:23:in `start'
>>>>        /usr/local/lib/ruby/1.8/webrick/server.rb:82:in `start'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/handler/webrick.rb:14:in
>>>> `run'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/server.rb:155:in 
>>>> `start'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/camping-2.0.392/bin/../lib/camping/server.rb:144:in
>>>> `start'
>>>>        
>>>> /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/server.rb:83:in 
>>>> `start'
>>>>        /usr/local/lib/ruby/gems/1.8/gems/camping-2.0.392/bin/camping:9
>>>>        /usr/local/bin/camping:19:in `load'
>>>>        /usr/local/bin/camping:19
>>>>
>>>>
>>>> On Wed, Jul 21, 2010 at 5:26 PM, Magnus Holm <judo...@gmail.com> wrote:
>>>>> A reference to a controller is also a constant. Everything which
>>>>> starts with an uppercase letter is in fact a constant.
>>>>>
>>>>> Hm. Could you give me a backtrace? It seems like it's ActiveSupport's
>>>>> const_missing or something like that.
>>>>>
>>>>> You don't really need to read/understand all those comments in the
>>>>> patch. It's all related to the fact that Tilt defines the template as
>>>>> a method under the Tilt::CompileSite (which is included in each
>>>>> request in Camping) so when you call #render it actually calls a
>>>>> method called #_tilt_ajdbakjasjdbakjsbdk in the background. Calling a
>>>>> method is way faster than instance_eval, so this gives a significant
>>>>> speed improvement. The problem by defining the method under
>>>>> Tilt::CompileSite is that constant lookup is now relative to
>>>>> Tilt::CompileSite instead of your request. This is what the patch
>>>>> fixes.
>>>>>
>>>>> // Magnus Holm
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jul 21, 2010 at 22:53, David Susco <dsu...@gmail.com> wrote:
>>>>>> Thanks Magnus,
>>>>>>
>>>>>> I gave that a shot but I'm still getting an argument error:
>>>>>>
>>>>>> Anonymous modules have no name to be referenced by
>>>>>>
>>>>>> I'm trying to wrap my mind around what this patch is doing, but I
>>>>>> don't see the connection between constants and a reference to a
>>>>>> controller.
>>>>>>
>>>>>> Dave
>>>>>>
>>>>>> On Wed, Jul 21, 2010 at 3:29 PM, Magnus Holm <judo...@gmail.com> wrote:
>>>>>>> This is a well-known bug in Tilt:
>>>>>>> http://groups.google.com/group/tiltrb/browse_thread/thread/19fef5370c4d417f
>>>>>>>
>>>>>>> The thread includes a quite simple patch for 1.8, and a larger, very
>>>>>>> hackish patch for 1.8+1.9.
>>>>>>>
>>>>>>>
>>>>>>> // Magnus Holm
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jul 21, 2010 at 21:05, David Susco <dsu...@gmail.com> wrote:
>>>>>>>> When using Tilt for views I need to completely specify the controller
>>>>>>>> within the template file.
>>>>>>>>
>>>>>>>> For example, in a Markaby view I can do this:
>>>>>>>>
>>>>>>>> URL(LogIn)
>>>>>>>>
>>>>>>>> But in a template file I have to do this:
>>>>>>>>
>>>>>>>> URL(MyApp::Controllers::LogIn)
>>>>>>>>
>>>>>>>> Is there anyway around this?
>>>>>>>>
>>>>>>>> --
>>>>>>>> Dave
>>>>>>>> _______________________________________________
>>>>>>>> Camping-list mailing list
>>>>>>>> Camping-list@rubyforge.org
>>>>>>>> http://rubyforge.org/mailman/listinfo/camping-list
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Camping-list mailing list
>>>>>>> Camping-list@rubyforge.org
>>>>>>> http://rubyforge.org/mailman/listinfo/camping-list
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dave
>>>>>> _______________________________________________
>>>>>> Camping-list mailing list
>>>>>> Camping-list@rubyforge.org
>>>>>> http://rubyforge.org/mailman/listinfo/camping-list
>>>>>>
>>>>> _______________________________________________
>>>>> Camping-list mailing list
>>>>> Camping-list@rubyforge.org
>>>>> http://rubyforge.org/mailman/listinfo/camping-list
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Dave
>>>> _______________________________________________
>>>> Camping-list mailing list
>>>> Camping-list@rubyforge.org
>>>> http://rubyforge.org/mailman/listinfo/camping-list
>>>>
>>> _______________________________________________
>>> Camping-list mailing list
>>> Camping-list@rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/camping-list
>>
>>
>>
>> --
>> Dave
>> _______________________________________________
>> Camping-list mailing list
>> Camping-list@rubyforge.org
>> http://rubyforge.org/mailman/listinfo/camping-list
>>
> _______________________________________________
> Camping-list mailing list
> Camping-list@rubyforge.org
> http://rubyforge.org/mailman/listinfo/camping-list



-- 
Dave
_______________________________________________
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Reply via email to