Fixed the last release date, dumbass.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Automatically set the Gemspec date.

Considering how bad I am at remembering these little details this should
hopefully make my own life a bit easier.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Fixed a version typo in the README.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Updated the MANIFEST file.

Forgot the checksum (dumbass), at least it's not really required for the Gem.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Handle missing statement begin token.

The analysis class Analysis::Pedantics now properly handles statement nodes
that lack a `begin` token. Cases where this happens are for example if
statements such as the following:

    if foo && bar

    end

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Use Object as a parent class fallback.

When a class extends a non existing class Object should be used instead as a
fallback.

This fixes #32.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Moved the contributing guide to the toplevel dir.

This will allow Github to show a notice about it when submitting issues.
Rewrote the contributing guide.

This should give the guide a more friendly appearance and make it a bit easier
to understand.
Add classes/modules to themselves.

When creating a new class or module the definition should be added as a child
definition to itself. This allows classes/modules to refer to themselves
without having to rely on the outer scope.

Consider the following code:

    class Foo
      Foo
    end

Before this patch the following process would happen in order to retrieve the
Foo constant on the 2nd line:

    search in current scope -> search in outer scope -> find constant

After this patch the following happens instead:

    search in current scope -> find constant

This in turn means that analysis classes such as Analysis::UndefinedVariables
no longer spit out warnings about the name of a constant being undefined as
said name is now available in the scope.

This commit fixes #35.
Show the filenames only for the text presenter.

This reduces clutter and in turn makes it easier to read the report.

This commit fixes #34.
Moved the constant tests in the right block.
Support for the default global variables.

This commit fixes #30.
Process calls to `alias`.

This new code takes care of aliasing both methods and global variables.

See #30 for more information.
Migrated to RSpec.

Although Bacon has served me well for the time being the output of Bacon and
the way to extend it started to annoy me too much. Although RSpec is quite
heavy in terms of the testing suites it should do everything I'll ever need
without having to write weird hacks.
Manually specify the global variables.

These aren't always the same on the different Ruby implementations. For
example, Rubinius doesn't by default define global variables such as $1 while
MRI does.
Basic tests for RubyLint::Inspector.
Don't use the RSpec Rake task.

It's fairly useless compared to just calling `sh 'rspec spec'`.
Don't freeze NilClass instances.
Only freeze what needs to be frozen.

Instead of iterating over all the instance variables only explicitly specified
objects should be frozen.
Added support for processign alias_method calls.