danini-the-panini / mittsu

3D Graphics Library for Ruby.
https://github.com/danini-the-panini/mittsu
MIT License
510 stars 33 forks source link

Support recent Ruby versions; clearing up warnings #86

Closed marcinruszkiewicz closed 5 years ago

marcinruszkiewicz commented 5 years ago

I've been trying to tackle the screenshot issue, but it turned out that mittsu doesn't work on the latest Ruby version due to some restrictions in the dependencies, so I had to meddle with some things to even run it (I'm still not finished with the screenshots, as in I still need to work out from where to properly get the pixels, but that's another story).

Meanwhile, this is the PR that lessens the gem's dependencies and makes it possible to run on Ruby versions from 2.3.x to 2.6.x. All these versions pass all the tests - I've included a TravisCI config that has the testing matrix for that.

Additionally, the newer version of the rake gem showed up a ton of warnings by default about circular requires and uninitialized instance variables, which make up for the bulk of this PR. There's still some left, but these are only the ones that are not immediately obvious on how to fix them.

I've supressed the warnings anyway, because it's mostly annoying, but I can try to get rid of the rest of them if needed.

Edit: I see Code Climate complains - two of these complains ("similar blocks of code, consider refactoring") are why I stopped using it myself. Yeah, they're similar, they're both attr_accessor and they both have the same number of arguments.

danini-the-panini commented 5 years ago

@marcinruszkiewicz Thank you so much for this 👍

marcinruszkiewicz commented 5 years ago

Should we be concerned about the CircleCI linux failure? It seems it's only problem is the ENV variable from CodeClimate.

danini-the-panini commented 5 years ago

I think the circle failure probably has something to do with the fact that your branch is on your fork, and it thus doesn't have access to the codeclimate repo token.