Saw
As a developer/admin, I saw user coming to registration page, with parameters. I saw user clking on "Connect".
What the user might have done? this is a common question developers do have while debugging any issue, going through the logs checking for particular log statement or request param, and then after spending an hour coming with a decision that user must have done this. Saw saves this hour, time spent on debugging and answering this question What user might have done?.
This is one more simply way to track what user is doing.
Installation
Add this line to your application's Gemfile:
gem 'saw'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install saw
And then install
$ rails generate saw install
Next
$ rake db:migrate
Usage
before_filter :saw
Or
saw 'visiting details page', { :extra => 'something' }
Or
# in views
<button id="button-retry" onclick="open_pop_up_form();" class="mybutton medium green">
Connect to your Device
</button>
<script type="text/javascript">
function open_pop_up_form(){
$.post("/visits", { doing: "clicked on 'Connect to your Device' " } );
....
Access users' visits as
visit = @user.visits.sample
visit.user_agent
visit.remote_host
visit.hits.map(&:note)
visit.lasts # => 00:12:45
visit.title # => 00:12:45 on Apr 14, 2013
visit.summary
hit = visit.hits.sample
hit.note
hit.url
hit.http_method
hit.action
hit.json_data
hit.created_at
A visit is not a single request made to the server but a session. Similalry a hit is not necessary to be a request hit.
Testing (TBD)
ruby test/saw_test.rb