updated README
This commit is contained in:
parent
5a8871f02f
commit
41c6e38ca7
26
README.rdoc
26
README.rdoc
|
@ -9,7 +9,7 @@ A lightweight plugin that logs impressions per action or manually per model
|
||||||
Logs an impression... and I use that term loosely. It can log page impressions (technically action impressions), but it is not limited to that.
|
Logs an impression... and I use that term loosely. It can log page impressions (technically action impressions), but it is not limited to that.
|
||||||
You can log impressions multiple times per request. And you can also attach it to a model. The goal of this project is to provide customizable
|
You can log impressions multiple times per request. And you can also attach it to a model. The goal of this project is to provide customizable
|
||||||
stats that are immediately accessible in your application as opposed to using G Analytics and pulling data using their API. You can attach custom
|
stats that are immediately accessible in your application as opposed to using G Analytics and pulling data using their API. You can attach custom
|
||||||
messages to impressions and log multiple impressions per request. No reporting yet.. this thingy just creates the data.
|
messages to impressions. No reporting yet.. this thingy just creates the data.
|
||||||
|
|
||||||
== What about bots?
|
== What about bots?
|
||||||
|
|
||||||
|
@ -55,37 +55,42 @@ The following fields are provided in the migration:
|
||||||
|
|
||||||
== Usage
|
== Usage
|
||||||
|
|
||||||
Log all actions in a controller
|
|
||||||
|
1. Log all actions in a controller
|
||||||
|
|
||||||
WidgetsController < ApplicationController
|
WidgetsController < ApplicationController
|
||||||
impressionist
|
impressionist
|
||||||
end
|
end
|
||||||
|
|
||||||
Specify actions you want logged in a controller
|
2. Specify actions you want logged in a controller
|
||||||
|
|
||||||
WidgetsController < ApplicationController
|
WidgetsController < ApplicationController
|
||||||
impressionist :actions=>[:show,:index]
|
impressionist :actions=>[:show,:index]
|
||||||
end
|
end
|
||||||
|
|
||||||
Make your models impressionable. This allows you to attach impressions to an AR model instance.
|
3. Make your models impressionable. This allows you to attach impressions to an AR model instance.
|
||||||
Impressionist will automatically log the Model name (based on action_name) and the id (based on params[:id]), but in order to get the count of impressions (example: @widget.impression_count),
|
Impressionist will automatically log the Model name (based on action_name) and the id (based on params[:id]), but in order to get the count of
|
||||||
|
impressions (example: @widget.impression_count),
|
||||||
you will need to make your model impressionalble
|
you will need to make your model impressionalble
|
||||||
|
|
||||||
class Widget < ActiveRecord::Base
|
class Widget < ActiveRecord::Base
|
||||||
is_impressionable
|
is_impressionable
|
||||||
end
|
end
|
||||||
|
|
||||||
Log an impression per model instance in your controller:
|
4. Log an impression per model instance in your controller. Note that it is not necessary to specify "impressionist" (usage #1) in the top of you controller if you are using this method.
|
||||||
|
If you add "impressionist" to the top of your controller and also use this method in your action, it will result in 2 impressions being logged (but associated with one request_hash)
|
||||||
|
|
||||||
@widget = Widget.find
|
def show
|
||||||
impressionist(@widget,message:"wtf is a widget?")
|
@widget = Widget.find
|
||||||
|
impressionist(@widget,message:"wtf is a widget?")
|
||||||
|
end
|
||||||
|
|
||||||
Get unique impression count from a model
|
5. Get unique impression count from a model. This groups impressions by request_hash, so if you logged multiple impressions per request, it will only count them one time.
|
||||||
@widget.unique_impression_count
|
@widget.unique_impression_count
|
||||||
@widget.unique_impression_count("2011-01-01","2011-01-02") # start date, end date
|
@widget.unique_impression_count("2011-01-01","2011-01-02") # start date, end date
|
||||||
@widget.unique_impression_count("2011-01-01") #specify start date only, end date = now
|
@widget.unique_impression_count("2011-01-01") #specify start date only, end date = now
|
||||||
|
|
||||||
Get total impression count. This may return more than 1 impression per http request, depending on how you are logging impressions
|
6. Get total impression count. This may return more than 1 impression per http request, depending on how you are logging impressions
|
||||||
@widget.impression_count
|
@widget.impression_count
|
||||||
@widget.impression_count("2011-01-01","2011-01-02") # start date, end date
|
@widget.impression_count("2011-01-01","2011-01-02") # start date, end date
|
||||||
@widget.impression_count("2011-01-01") #specify start date only, end date = now
|
@widget.impression_count("2011-01-01") #specify start date only, end date = now
|
||||||
|
@ -94,7 +99,6 @@ Logging impressions for authenticated users happens automatically. If you have
|
||||||
|
|
||||||
|
|
||||||
== Development Roadmap
|
== Development Roadmap
|
||||||
TODO (soon): create indexes for impressions table
|
|
||||||
TODO (soon): more helpers for impression count to filter controllers, actions, messages, and user_ids
|
TODO (soon): more helpers for impression count to filter controllers, actions, messages, and user_ids
|
||||||
* Automatic impression logging in views. For example, log initial view, and any partials called from initial view
|
* Automatic impression logging in views. For example, log initial view, and any partials called from initial view
|
||||||
* Customizable black list for user-agents or IP addresses. Impressions will be ignored. Web admin as part of the Engine.
|
* Customizable black list for user-agents or IP addresses. Impressions will be ignored. Web admin as part of the Engine.
|
||||||
|
|
Loading…
Reference in New Issue