mutewinter / Showbot

🤖 An IRC Bot and Website for 5by5.tv written with the Cinch and Sinatra frameworks
MIT License
90 stars 31 forks source link

Showbot fails to start on ruby 1.9.3-* with wrong number of arguments error due to Shows not being able to accept any arguments. #52

Closed rikai closed 7 years ago

rikai commented 11 years ago

Just figured i'd file a bug for this one while i'm at it, since it probably effects ruby 2.0 as well.

Showbot fails to run on all versions of 1.9.3 (and likely 2.0) with the following:

00:25:50 web.1  | /usr/home/rikai/Showbot/showbot_web.rb:22:in `initialize': wrong number of arguments(1 for 0) (ArgumentError)
00:25:50 web.1  |       from /usr/home/rikai/Showbot/showbot_web.rb:22:in `new'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/showbot_web.rb:22:in `block in <class:ShowbotWeb>'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/sinatra-1.4.2/lib/sinatra/base.rb:1546:in `configure'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/showbot_web.rb:19:in `<class:ShowbotWeb>'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/showbot_web.rb:18:in `<top (required)>'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/config.ru:1:in `require'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/config.ru:1:in `block in <main>'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/config.ru:1:in `new'
00:25:50 web.1  |       from /usr/home/rikai/Showbot/config.ru:1:in `<main>'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/rack/adapter/loader.rb:33:in `eval'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/rack/adapter/loader.rb:33:in `load'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/rack/adapter/loader.rb:42:in `for'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/thin/controllers/controller.rb:169:in `load_adapter'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/thin/controllers/controller.rb:73:in `start'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/thin/runner.rb:187:in `run_command'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/lib/thin/runner.rb:152:in `run!'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/gems/thin-1.5.1/bin/thin:6:in `<top (required)>'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/bin/thin:19:in `load'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/bin/thin:19:in `<main>'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `eval'
00:25:50 web.1  |       from /home/rikai/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `<main>'

A little chat with dominikh on the cinch irc lead to the wonderful dominikh pointing out the obvious issue that i'm slightly embarrased to have noticed myself:

<dominikh> https://github.com/mutewinter/Showbot/blob/master/lib/models/shows.rb
<dominikh> class Shows does not inherit from any class or mixin any module and has no initialize method of its own, so I don't see how it could accept any arguments

He's right indeed, as far as i can tell, and that leaves me clueless as to why it doesn't explode in 1.9.2 but this is probably something that should be corrected either way, since it'll be an issue going forward.

Personal thanks to @dominikh for helping my newbie brain understand the problem. :)

dominikh commented 9 years ago

Has this been fixed yet? :)

rikai commented 7 years ago

This was indeed fixed a long while ago, though i don't remember the fix offhand. :P