copy of jdbc_databases.rake into lib/tasks causes "undefined method `last' for 
{}:Hash" error on subseqent use of rake
----------------------------------------------------------------------------------------------------------------------

                 Key: JRUBY-1860
                 URL: http://jira.codehaus.org/browse/JRUBY-1860
             Project: JRuby
          Issue Type: Bug
          Components: ActiveRecord-JDBC
    Affects Versions: JRuby 1.1
         Environment: MacOS 10.4.11, Java 1.5.0_13, JRuby trunk r5456, Rails 
2.02, activerecord-jdbc-adapter (0.7), activerecord-jdbcderby-adapter (0.7), 
activerecord-jdbcmysql-adapter (0.7), rake (0.8.1)
            Reporter: Stephen Bannasch


After I create a simple test rails app using JRuby trunk (r5456) and Rails 2.02 
and successfully run a rake migration once I can no longer run any rake task 
without getting this error:

{code}
$ rake -T
(in /Users/stephen/dev/jruby_trunk/jruby/rails/jtest)
rake aborted!
undefined method `last' for {}:Hash
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/rakefile:10:in `require'
(See full trace by running task with --trace)
{code}

If I delete lib/tasks/jdbc_databases.rake then rake works again:

{code}
$ ls -l lib/tasks/jdbc_databases.rake
-rw-r--r--   1 stephen  stephen  2460 Jan  2 02:20 lib/tasks/jdbc_databases.rake
$ rm -f lib/tasks/jdbc_databases.rake
$ rake -T
(in /Users/stephen/dev/jruby_trunk/jruby/rails/jtest)
rake db:abort_if_pending_migrations  # Raises an error if there are pending...
rake db:charset                      # Retrieves the charset for the curren...
...
{code}

When I start the test rails app with script/server jdbc_databases.rake is once 
again copied over to lib/tasks and the app runs correctly -- but in order to 
run any further rake tasks I have to once again delete 
lib/tasks/jdbc_databases.rake.

Here's a more complete stacktrace of the error:

{code}
$ rake -T --trace
(in /Users/stephen/dev/jruby_trunk/jruby/rails/jtest)
rake aborted!
undefined method `last' for {}:Hash
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1653:in
 `resolve_args'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:6:in
 `redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:21:in
 `redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:28:in
 `redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:33:in
 `redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:33:in
 `in_namespace'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:821:in
 `namespace'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:32:in
 `namespace'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:32:in
 `load'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
 `load'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
 `each'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
 `each'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
 `require'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
 `require'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/rakefile:10:in `require'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in
 `load'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in
 `raw_load_rakefile'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1897:in
 `load_rakefile'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
 `standard_exception_handling'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
 `load_rakefile'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
 `run'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
 `standard_exception_handling'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
 `run'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
 `run'
/Users/stephen/dev/jruby_trunk/jruby/bin/rake:19:in `load'
/Users/stephen/dev/jruby_trunk/jruby/bin/rake:19:in `load'
{code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to