isc_analytics 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
- # ISC Analytics
2
- A simple client-side & server-side analytics library for Rails
1
+ # ISC Analytics [![Build Status](https://travis-ci.org/TheGiftsProject/isc_analytics.png?branch=master)](https://travis-ci.org/TheGiftsProject/isc_analytics)
2
+ A simple client-side & server-side analytics library for Rails. It currently supports only KISSmetrics for more advanced
3
+ analytics features (trackEvent / setProperties) and Google Analytics just for tracking pageviews.
3
4
 
4
5
  ## Installation
5
6
 
@@ -9,21 +10,21 @@ Just add the `isc_analytics` gem into your Gemfile
9
10
  gem 'isc_analytics'
10
11
  ```
11
12
 
12
- Then create an initializer file in your `config/initialize` directory containing the initial config of your analytics.
13
+ Then add an initializer file in your `config/initializers` directory containing the initial config of your analytics.
13
14
 
14
15
  ## Configuration
15
16
 
16
- ISC Analytics current supports the following configurations:
17
+ ISC Analytics currently supports the following configuration options:
17
18
 
18
19
 
19
20
  ```ruby
20
- IscAnalytics.config.accounts = ANALYTIC_ACCOUNTS # an accounts objects (preferably using ConfigReader)
21
+ IscAnalytics.config.accounts = ANALYTIC_ACCOUNTS # an accounts object (preferably using ConfigReader)
21
22
  IscAnalytics.config.namespace = 'App' # an alias which will gain all the analytics behivour in the clientside.
22
23
  ```
23
24
 
24
- We recommend our other gem [ConfigReader](https://github.com/TheGiftsProject/configreader) to load the analytics_accounts data from a YML.
25
+ We highly recommend you to use our other gem [ConfigReader](https://github.com/TheGiftsProject/configreader) to load the analytics_accounts data from a YML.
25
26
 
26
- The analytics accounts should contain the following sub keys:
27
+ The accounts hash / EnvConfigReader should contain the following sub keys:
27
28
 
28
29
  ```yml
29
30
  kissmetrics_key: "KEY"
@@ -36,29 +37,37 @@ Currently only the KISSMetrics and Google Analytics keys are mandatory although
36
37
 
37
38
  ## Usage
38
39
 
39
- There are three points of usage for the isc_analytics gem, the first is including and starting to use the gem in your app. The second is Client side analytics events and the third is server side analytics events.
40
+ The basic way to use isc_analytics is to simply follow the **Getting Started** step, which will guide you on how
41
+ to enable simple visitor tracking in KISSmetrics and Google Analytics
40
42
 
41
- ### Including
43
+ If you need more, there's a client-side & server-side tracking analytics API. (Enabled just for KISSmetrics)
44
+
45
+ ## Getting Started
46
+
47
+ After you've finished configuring isc_analytics, do the following in order to include it in your app:
48
+
49
+ #### ApplicationController
42
50
 
43
- To include isc_analytics in your app, after you install the gem.
44
51
  Add the following line inside your ApplicationController:
45
52
 
46
53
  ```ruby
47
54
  include IscAnalytics::ControllerSupport
48
55
  ```
49
- This will enable you to use the analytics object from your controllers and views.
56
+ This will enable you to use the Analytics object from your controllers and views.
50
57
 
51
- And the following line to your main application layout
58
+ #### Application Layout
59
+
60
+ Add the following line to your main application layout, under the HTML head tag.
52
61
 
53
62
  ```erb
54
63
  <%= add_analytics %>
55
64
  ```
56
65
 
57
- This will embed all the needed html for the analytics to run (including the code for all the required services.)
66
+ This will embed all the needed HTML for the analytics to run (including the code for all the required services).
58
67
 
59
- ### Client Side
68
+ ## Client Side
60
69
 
61
- After your install and include the isc_gem you can use the following functions in your client side javascript.
70
+ Once you've included isc_analytics as we've explained above, you will have access to the following client-side API:
62
71
 
63
72
  ```js
64
73
  Analytics.trackEvent(<event name>, [<properties_hash>]);
@@ -68,14 +77,15 @@ Analytics.identify(<identity>, [<properties_hash>]);
68
77
  Analytics.clearIdentity()
69
78
  ```
70
79
 
71
- #### Namespacing
72
- The cool thing is that if you configure a Namespace in the configuration then we'll automatically alias all the functions to the Namespace of your choice for easy access.
80
+ ### Namespacing
81
+
82
+ If you've configured a Namespace in the initializer, then we'll automatically alias all the functions to the Namespace of your choice for easy access.
73
83
  For example if I set my namespace as `App` then I'll be able to access the trackEvent function from `App.trackEvent`
74
84
 
75
- ### Server Side
85
+ ## Server Side
76
86
 
77
- All the **client side event tracking is available from the server side** as well. Once you inlcude isc_analytics you can access the `analytics` object which will have methods identical to the client-side analytics methods.
78
- For example you can call `analytics.trackEvent('user-visit')` and it will be persisted in the current user session and flushed into the users browser next time he visits a page (via add_analytics). This mechanism is similar in behaivour to Rails' flash object.
87
+ All the **client side event tracking is available from the server side** as well. Once you've included isc_analytics you can access the `analytics` object which will have methods identical to the client-side analytics methods.
88
+ For example you can call `analytics.trackEvent('user-visit')` and it will be persisted in the current user session and flushed into the user's browser next time he visits a page (via add_analytics). This mechanism is similar in behaviour to Rails' flash object.
79
89
 
80
90
  ### Opt out
81
91
 
@@ -0,0 +1 @@
1
+ //= require isc_analytics/index
@@ -1,12 +1,8 @@
1
- if defined?(::Rails::Engine)
2
- module IscAnalytics
3
- module Rails
4
- class Engine < ::Rails::Engine
5
- initializer :assets do |app|
6
- IscAnalytics.app = app
7
- app.config.assets.precompile += %w(isc_analytics isc_analytics/session isc_analytics/opt_out_analytics)
8
- end
9
- end
1
+ module IscAnalytics
2
+ class Engine < ::Rails::Engine
3
+ initializer 'isc_analytics.assets' do |app|
4
+ IscAnalytics.app = app
5
+ app.config.assets.precompile += %w(isc_analytics.js isc_analytics/session.js isc_analytics/opt_out_analytics.js)
10
6
  end
11
7
  end
12
- end
8
+ end
@@ -0,0 +1 @@
1
+ //= require isc_analytics/session/index
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isc_analytics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-12-24 00:00:00.000000000 Z
13
+ date: 2012-12-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: controller_support
@@ -72,6 +72,7 @@ files:
72
72
  - lib/assets/javascripts/isc_analytics/isc_analytics.js.coffee
73
73
  - lib/assets/javascripts/isc_analytics/opt_out_analytics.js.coffee
74
74
  - lib/assets/javascripts/isc_analytics/visitor_analytics.coffee.erb
75
+ - lib/assets/javascripts/isc_analytics.js
75
76
  - lib/isc_analytics/bootstrap.rb
76
77
  - lib/isc_analytics/client_api.rb
77
78
  - lib/isc_analytics/config.rb
@@ -83,6 +84,7 @@ files:
83
84
  - lib/isc_analytics.rb
84
85
  - vendor/assets/javascripts/isc_analytics/session/index.js
85
86
  - vendor/assets/javascripts/isc_analytics/session/session-0.4.js
87
+ - vendor/assets/javascripts/isc_analytics/session.js
86
88
  - vendor/assets/javascripts/isc_analytics/yepnope/css_prefix.js
87
89
  - vendor/assets/javascripts/isc_analytics/yepnope/index.js
88
90
  - vendor/assets/javascripts/isc_analytics/yepnope/yepnope.js