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 -~----------~----~----~----~------~----~------~--~---
