Forum: Rails Engines script/plugin discover errors

Dca6991c017fda639f4504a55b4898aa?d=identicon&s=25 Scott Taylor (Guest)
on 2006-06-24 19:57
(Received via mailing list)
I would like to install The Ruby Engines plugin.  So, I followed the
directions at:
http://www.rails-engines.org/download

When I run script/plugin discover, I get the following:

Add http://svn.northpub.com/plugins/? [Y/n]
(eval):3:in `each': undefined method `[]' for nil:NilClass
(NoMethodError)
       from
c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:6
58:in `scrape'
       from
c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:6
32:in `parse!'
       from
c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:6
31:in `parse!'
       from
c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:4
47:in `parse!'
       from
c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:4
63:in `parse!'
       from
c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:8
71
       from
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
       from
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_suppo
rt/dependencies.rb:147:in `require'
       from script/plugin:3

Am I missing something obvious?  Does someone know how to get around
this?


I am running on Windows XP, wiht Subversion installed, with Ruby 1.8.4
and Rails 1.1.2.

Thanks in advance,

Scott Taylor
05d703f649ef1d07e78d7b479fb4c4ac?d=identicon&s=25 James Adam (Guest)
on 2006-06-24 21:20
(Received via mailing list)
Someone appears to have put some junk on the wiki page that
script/plugin uses. You can install from the direct URL anyway:

  script/plugin install http://svn.rails-engines.org/plugins/engines

- james
9cf73f1e9215bb0010b479a5c9ed1c36?d=identicon&s=25 rifraf (Guest)
on 2006-11-12 22:57
The bottom of the WIKI http://wiki.rubyonrails.org/rails/pages/Plugins
has a link 'Edit' that is defined as: <a
href="/rails/pages/plugins/versions/new">Edit</a>

The method scrape at line 654 of file
...\ruby\lib\ruby\gems\1.8\gems\rails-1.1.6\lib\commands\plugin.rb
detects this and passes "/rails/pages/plugins/versions/new" to the
method below:

def extract_repository_uri(uri)
      uri.match(/(svn|https?):.*\/plugins\//i)[0]
end

But "/rails/pages/plugins/versions/new" does not start with svn or http,
so there is no match and [0] has only nil to work with.

Changing line 659 to the following line factors in the http part and
eliminates the problem.

if line =~ /<a[^>]*href=['"](https?[^'"]*)['"]/ or line =~
/(svn:\/\/[^<|\n]*)/

Of course the href gets expanded by a browser to
http://wiki.rubyonrails.org/rails/pages/plugins/versions/new, but in
this case we would the wiki problems by trying to edit the page. The fix
above seems to be a better solution to me.
This topic is locked and can not be replied to.