Localtower

Intro

Update in 2022, please use localtower version >= 0.4.1 See installation process below. Compatibility:

  • Rails >= 5.2
  • Ruby >= 2.3

See the schema

Schema

Create a model

Models

Create a many to many relation

Relations

Create a migration

Migrations

Using the Capture plugin

Capture

INSTALL

Only tested with Rails 4.2 and Rails 5.1 (should work with any Rails 4.2+ application). Only tested with PostgreSQL.

Add to your Gemfile file:

group :development do
  gem "localtower", ">= 0.4.1"
end

If you want the latest master branch, add to your Gemfile file following:

group :development do
  gem "localtower", github: "damln/localtower"
end

Run command in your terminal:

bundle install

Add to your config/routes.rb:

MyApp::Application.routes.draw do
  if Rails.env.development? and defined?(Localtower)
    mount Localtower::Engine, at: "localtower"
  end

  # Your other routes here:
  # ...
end

Usage

Open your browser at http://localhost:3000/localtower.

Logger Usage (Capture plugin)

You can put this line anywhere in your code:

Localtower::Plugins::Capture.new(self, binding).save

For example:

def my_method
  user = User.find(1)
  some_data = {foo: "bar"}

  Localtower::Plugins::Capture.new(self, binding).save
end

Then go to the Localtower intercave here: http://localhost:3000/localtower/logs and you will see the variables user and some_data in the UI.

Notes for the Capture plugin:

The value for each variable will try to call .to_json. If you have a huge collection of models likes @users you will see all the collection as an Array.

Run test

If you want to contribute to the gem:

Create a spec/dummy/.env file with the credentials to your PostgreSQL Database. It should look like this:

LOCALTOWER_PG_USERNAME="admin"
LOCALTOWER_PG_PASSWORD="root_or_smething"

Run the spec:

bundle install
bundle exec rspec spec/

Contribute

Thanks for reporting issues, I'll do my best 💪

Analytics

Deploy

Only for official contributors.

rm *.gem | gem build localtower.gemspec && gem push localtower-*.gem

Notes

Do not hesitate to open issues if you have troubles using the gem.