Lyle-Tafoya / Steam-Categorizer

Automatically generate categories for games in your Steam library
GNU General Public License v3.0
25 stars 2 forks source link

categorizer.rb:31:in `initialize': undefined method `text' for nil:NilClass (NoMethodError) #23

Closed KhelbenArunsun closed 7 years ago

KhelbenArunsun commented 7 years ago

I keep getting this error after compiling Steam-Categorizer 0.5.9 using ruby 2.4.0 on Arch Linux with rake 12.0.0 and bundler 1.15.1 (Github is being finicky with the code block, I apologize.):

/home/khelben/.gem/ruby/2.4.0/gems/steam-categorizer-0.5.9/lib/steam/categorizer.rb:31:in initialize': undefined methodtext' for nil:NilClass (NoMethodError) from /home/khelben/.gem/ruby/2.4.0/gems/steam-categorizer-0.5.9/exe/steam-categorizer:21:in new' from /home/khelben/.gem/ruby/2.4.0/gems/steam-categorizer-0.5.9/exe/steam-categorizer:21:in<top (required)>' from /home/khelben/.gem/ruby/2.4.0/bin/steam-categorizer:22:in load' from /home/khelben/.gem/ruby/2.4.0/bin/steam-categorizer:22:in

'

Lyle-Tafoya commented 7 years ago

Hello, sorry for the delayed response. I will try to take a look at this some time before the end of this weekend.

KhelbenArunsun commented 7 years ago

Alrighty, just let me know if you need any more info. I have no idea where the error log is stored though, as I don't use Ruby-based utilities often.

I have my bashrc set up as recommended on the ArchWiki:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

export GEM_HOME=$(ruby -e 'print Gem.user_dir') (For bundler to install gems per user rather than system wide.)

ibrokemypie commented 7 years ago

@KhelbenArunsun unrelated to error, but for a code block its best to just do ``` code ```

Lyle-Tafoya commented 7 years ago

After looking into this, it appears that steam-categorizer is unable to find your user page based on the "urlName" value provided in the config. I have updated the script to produce a more human-readable error message when this happens. In order to find the correct value to paste into this section of the config, browse to your profile on Steam's website. The urlName (please correct me if there is a more proper term for this) is visible in the url. For example, for me it is "https://steamcommunity.com/id/avocados_are_tasty". So in my case I paste "avocados_are_tasty" into the urlName section of the config.

ibrokemypie commented 7 years ago

Thanks, didnt realise it wouldnt wokr at all with default config, changing that works for me! ps, latest commit required a bundle install before rake install due to rubocop additions, which confused me a little

Lyle-Tafoya commented 7 years ago

I thought a rake install would have handled the installation of rubocop automatically. I'll look into that. I'll also try to update the README to make it more clear what the urlName parameter is for and that it is required.

Tristor commented 7 years ago

Hey, sorry, this was my fault. I have a bundler-centric workflow, so I didn't catch this. I think you were also using bundler/gem_tasks before as well. My understanding is that rake install should work fine with bundler/gem_tasks, but this may fail because of the require statements at the top of the Rakefile for RuboCop and RSpec if they aren't installed and rake install doesn't trigger a bundle install.

I am correcting this in another branch and will submit a PR shortly. Once my fix is in rake install should work correctly as normal, but some rake tasks for development (for running RSpec and RuboCop) will be unavailable until the user runs bundle install.

KhelbenArunsun commented 7 years ago

@Lyle-Tafoya I'm an idiot. I didn't realize I had to edit the example steam-categorizer.json after I copied it into my config directory. You can close this, it's a PEBCAK/ID-10T error. Works so far.

@ibrokemypie Thanks, I'll remember that!