I am fairly certain deploy.rb is not being loaded twice, I tried
different combinations in the Capfile, double checked the
options[:sysconf] (is nil), options[:dotfile] (is nil),  and that
options[:recipes] only has a reference to the external deploy.rb

The rails instance is pretty basic, the plugins are
fixture_replacement2, restful_authentication, rspec, and rspec_on_rails.
Just to be safe, I removed everything but the restful_authentication
plugin but still got the ArgumentError. I have not defined any tail
methods nor are there any I can find.

thanks,
Michael

Jamis Buck wrote:
> So, regarding my last email, are you sure you're not loading (e.g.)
> deploy.rb twice?
>
> Second thing to check, make sure you (or a plugin) haven't declared a
> method named 'tail' on Object (or otherwise in the global namespace).
>
> - Jamis
>
> On 2/13/09 1:45 PM, Michael Guymon wrote:
>   
>> First off, thanks for your help diagnosing my problems thus far Jamis,
>> I appreciate it.
>>
>> My Capistrano::CLI implementation, http://pastie.org/388542 , works
>> from rspec and the rails console, but gives the "ArgumentError:
>> defining a task named `tail' would shadow an existing method with that
>> name" in rails.
>>
>> I have tried changing the Capfile and manually adding the Capfile to
>> the CLI impl class, but the ArgumentError still persists when run from
>> Rails
>>
>> I guess it is not surprising that the ArgumentError is coming from
>> Capistrano::CLI::Execute method load_recipes(config):
>>   Array(options[:recipes]).each { |recipe| config.load(recipe) }
>> throws the ArgumentError
>>
>> Is there a good way to debug how the tasks are being loaded into the
>> Capistrano::Configuration I am building?
>>
>> thanks,
>> Michael
>>
>> On Feb 13, 1:23 am, Jamis Buck <[email protected]> wrote:
>>     
>>> If you're loading Capfile, you don't need to also load deploy.rb (since
>>> Capfile loads deploy.rb). Perhaps the double load is causing problems?
>>>
>>> - Jamis
>>>
>>> On 2/12/09 11:15 PM, Michael Guymon wrote:
>>>
>>>       
>>>> MMD::Actions::Cap is the class that is calling Capistrano as I described 
>>>> earlier (by including Capistrano::CLI::Execute, Capistrano::CLI::Options 
>>>> and handles steps for execute_requested_actions), the message 
>>>> 'MMD::Actions::Cap should run capistrano tasks' is the output from rspec. 
>>>> The Arguments error was a bug, sorry for that. Now the rspec correctly 
>>>> executes a 'cap staging deploy' from an external deploy.rb.
>>>> In Rails tho, I am still getting:
>>>>   capistrano/configuration/namespaces.rb:97:in `task': defining a task 
>>>> named `tail' would shadow an existing method with that name (ArgumentError)
>>>> which is being thrown from load_recipes(config) when the external 
>>>> deploy.rb is loaded. The error we indicate a collision of some sort, like 
>>>> the deployer.rb is being loaded twice somehow?
>>>> Here is a slimmed down version of the ruby I am attempt to execute from 
>>>> Rails:http://pastie.org/387991
>>>> thanks,
>>>> Michael
>>>> Jamis Buck wrote:
>>>>         
>>>>> On 2/12/09 9:17 PM, Michael Guymon wrote:
>>>>>           
>>>>>> I should have been more clear in the first place, I am actually trying
>>>>>> to cap deploy another application from Rails, so it is trying to load
>>>>>> a deploy.rb that is not in the RAILS_ROOT.
>>>>>> In my rspec spec, if I load the Capfile first, then the external
>>>>>> deploy.rb, attempt to execute 'staging deploy' in Rails, I get the
>>>>>> strange error:
>>>>>> ArgumentError in 'MMD::Actions::Cap should run capistrano tasks'
>>>>>> wrong # of arguments(1 for 0)
>>>>>>             
>>>>> I have absolutely no idea what MMD::Actions::Cap is. It's definitely not
>>>>> Capistrano.
>>>>> - Jamis
>>>>>           
>>>       
>
>
> >
>   


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to