I have tried everything I can think of to make this work for 3 days.
Thanks in advance.
Here is what I did:
rails _1.2.5_ little_ones_bend
svn export
http://svn.subimage.com/source/substruct/site/trunk/vendor/plugins
vendor/plugins --username substruct --password substruct
svn export
http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-5 vendor/
rails
followed instructions from
http://dev.subimage.com/projects/substruct/wiki/InstallingSubstruct
ruby script/generate plugin_migration
rake db:migrate
As near as I can tell, the engine plugin is sending a Hash to the
function named "redefine_task"
which calls "resolve_args" and dies because Hash has no .last method
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1653:in
`resolve_args'
here it is. error on line 1653
def resolve_args(args)
task_name = args.shift
arg_names = args #.map { |a| a.to_sym }
needs = []
if task_name.is_a?(Hash)
hash = task_name
task_name = hash.keys[0]
needs = hash[task_name]
end
if arg_names.last.is_a?(Hash) # line 1653 error here
hash = arg_names.pop
needs = hash[:needs]
fail "Unrecognized keys in task hash: #{hash.keys.inspect}" if
hash.size > 1
end
needs = [needs] unless needs.respond_to?(:to_ary)
[task_name, arg_names, needs]
end
Here is the engine code that is calling redefine_task
Rake::Task.redefine_task(plugin => :environment) do
plugin_base = RAILS_ROOT + "/vendor/plugins/#{plugin}"
options = []
files = Rake::FileList.new
options << "-o doc/plugins/#{plugin}"
options << "--title '#{plugin.titlecase} Plugin
Documentation'"
options << '--line-numbers' << '--inline-source'
options << '-T html'
C:\rails_projects\little_ones_bend>rake db:migrate --trace
(in C:/rails_projects/little_ones_bend)
rake aborted!
undefined method `last' for {}:Hash
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1653:in
`resolve_args'
C:/rails_projects/little_ones_bend/config/../vendor/plugins/engines/
tasks/engine
s.rake:9:in `redefine_task'
C:/rails_projects/little_ones_bend/config/../vendor/plugins/engines/
tasks/engine
s.rake:24:in `redefine_task'
C:/rails_projects/little_ones_bend/config/../vendor/plugins/engines/
tasks/engine
s.rake:63
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in `each'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in `send'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in `each'
C:/rails_projects/little_ones_bend/config/../vendor/plugins/engines/
tasks/engine
s.rake:61
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1737:in
`in_namespace'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:821:in
`namespace'
C:/rails_projects/little_ones_bend/config/../vendor/plugins/engines/
tasks/engine
s.rake:58
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1737:in
`in_namespace'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:821:in
`namespace'
C:/rails_projects/little_ones_bend/config/../vendor/plugins/engines/
tasks/engine
s.rake:54
C:/rails_projects/little_ones_bend/vendor/rails/railties/lib/tasks/
rails.rb:8:in
`load'
C:/rails_projects/little_ones_bend/vendor/rails/railties/lib/tasks/
rails.rb:8
C:/rails_projects/little_ones_bend/vendor/rails/railties/lib/tasks/
rails.rb:8:in
`each'
C:/rails_projects/little_ones_bend/vendor/rails/railties/lib/tasks/
rails.rb:8
C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_re
quire'
C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
C:/rails_projects/little_ones_bend/rakefile:10
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in `load'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in
`raw_load_rakefile
'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1897:in
`load_rakefile'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in
`standard_exceptio
n_handling'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
`load_rakefile'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1880:in `run'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in
`standard_exceptio
n_handling'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in `run'
C:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31
C:/ruby/bin/rake:19:in `load'
C:/ruby/bin/rake:19