woopra_rails 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -30,6 +30,9 @@ Or install it yourself as:
30
30
  dryrun: false
31
31
 
32
32
  At this point, Woopra should initialize on app load and be ready for usage.
33
+ The last step is to extend your application controller with the ActiveSupport::Concerns functionality to allow for user identity tracking for anonymous users. Add the following to your application_controller.rb
34
+
35
+ include WoopraRails::Session
33
36
 
34
37
  ## Usage
35
38
  All API actions return a WoopraRails::Response object. To check for success, assign the return to a variable, e.g. response, and call success? for a boolean return
@@ -38,8 +41,9 @@ Or install it yourself as:
38
41
  response.success? #returns true
39
42
 
40
43
  Identify the current user:
44
+ We use the Rails session_id for user cookie management. This session id is not sent over the wire, and is done with MD5 digest.
41
45
 
42
- response = WoopraRails.identify("me@kevinlhopkins.com")
46
+ response = WoopraRails.identify("Kevin Hopkins", "me@kevinlhopkins.com", session[:session_id])
43
47
 
44
48
  Log a pageview:
45
49
 
@@ -1,6 +1,8 @@
1
1
  module WoopraRails
2
2
  class << self
3
- def identify(name=nil, email=nil)
3
+ def identify(name=nil, email=nil, session=nil)
4
+ @session = Digest::MD5.hexdigest(session)
5
+ set_base
4
6
  @base_params += "&cv_name=#{URI::encode name}&cv_email=#{URI::encode email}"
5
7
  issue_request
6
8
  end
@@ -1,3 +1,3 @@
1
1
  module WoopraRails
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
data/lib/woopra_rails.rb CHANGED
@@ -1,5 +1,3 @@
1
- require "woopra_rails/version"
2
- require "woopra_rails/engine"
3
1
  require 'uri'
4
2
  require 'socket'
5
3
  require 'net/http'
@@ -10,15 +8,15 @@ require 'fileutils'
10
8
  'engine',
11
9
  'error',
12
10
  'response',
13
- 'session',
14
11
  'api'
15
12
  ].each{ |f| require "woopra_rails/#{f}" }
16
13
 
17
14
  module WoopraRails
18
- @endpoint = 'http://www.woopra.com/track/ce/'
15
+ @endpoint = 'https://www.woopra.com/track/ce/'
19
16
  @dryrun = false
20
17
  @config = {}
21
18
  @env = "development"
19
+ @session = ""
22
20
 
23
21
  class << self
24
22
  def config=(config)
@@ -39,8 +37,7 @@ module WoopraRails
39
37
  end
40
38
 
41
39
  def set_base
42
- @account = @config["account"]
43
- @base_params = "#{@host}#{@endpoint}?host=#{account}&response=json&cookie=#{WoopraRails::Session.user_id}&timeout=300000"
40
+ @base_params = "#{@endpoint}?host=#{account}&response=json&cookie=#{@session}&timeout=300000"
44
41
  end
45
42
 
46
43
  def account
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: woopra_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-30 00:00:00.000000000 Z
12
+ date: 2013-05-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -60,7 +60,6 @@ files:
60
60
  - lib/woopra_rails/engine.rb
61
61
  - lib/woopra_rails/error.rb
62
62
  - lib/woopra_rails/response.rb
63
- - lib/woopra_rails/session.rb
64
63
  - lib/woopra_rails/version.rb
65
64
  - spec/TestApp/.gitignore
66
65
  - spec/TestApp/Gemfile
@@ -187,4 +186,3 @@ test_files:
187
186
  - spec/TestApp/vendor/assets/javascripts/.gitkeep
188
187
  - spec/TestApp/vendor/assets/stylesheets/.gitkeep
189
188
  - spec/TestApp/vendor/plugins/.gitkeep
190
- has_rdoc:
@@ -1,30 +0,0 @@
1
- module WoopraRails::Session
2
- extend ActiveSupport::Concern
3
- included do
4
- before_filter :set_or_use_woopra_cookie
5
-
6
- def set_or_use_woopra_cookie
7
- session[:woopra_user_id] = SecureRandom.hex(16) unless !session || session[:woopra_user_id]
8
- end
9
-
10
- def clear_woopra_session
11
- session[:woopra_user_id] = nil
12
- end
13
- helper_method :clear_woopra_session
14
- end
15
-
16
- class << self
17
- def user_id
18
- begin
19
- session[:woopra_user_id]
20
- rescue
21
- ""
22
- end
23
- end
24
-
25
- def page_path
26
- request.url
27
- end
28
-
29
- end
30
- end