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"
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
Open your browser at http://localhost:3000/localtower.
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.
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.
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/
Notes: Tests are currently very slow because this is testing rails commands so it boots the framework for each test. Zeus or spring should be introduced.
Thanks for reporting issues, I'll do my best.
rm *.gem | gem build localtower.gemspec && gem push localtower-*.gem