vero 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -1,6 +1,3 @@
1
1
  source :rubygems
2
2
 
3
- gemspec
4
- gem 'rails'
5
- gem 'debugger', :require => 'debugger'
6
- gem 'rspec'
3
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vero (0.3.0)
4
+ vero (0.3.2)
5
5
  delayed_job
6
6
  delayed_job_active_record
7
7
  delayed_job_mongoid
@@ -38,7 +38,6 @@ GEM
38
38
  i18n (~> 0.6)
39
39
  multi_json (~> 1.0)
40
40
  arel (3.0.2)
41
- bson (1.6.4)
42
41
  builder (3.0.0)
43
42
  columnize (0.3.6)
44
43
  debugger (1.1.3)
@@ -53,10 +52,9 @@ GEM
53
52
  delayed_job_active_record (0.3.2)
54
53
  activerecord (> 2.1.0)
55
54
  delayed_job (~> 3.0.0)
56
- delayed_job_mongoid (1.1.0)
55
+ delayed_job_mongoid (2.0.0)
57
56
  delayed_job (~> 3.0)
58
- mongo (~> 1.6)
59
- mongoid (>= 2.0)
57
+ mongoid (~> 3.0)
60
58
  diff-lcs (1.1.3)
61
59
  erubis (2.7.0)
62
60
  hike (1.2.1)
@@ -68,16 +66,14 @@ GEM
68
66
  mime-types (~> 1.16)
69
67
  treetop (~> 1.4.8)
70
68
  mime-types (1.18)
71
- mongo (1.6.4)
72
- bson (~> 1.6.4)
73
- mongoid (3.0.2)
69
+ mongoid (3.0.3)
74
70
  activemodel (~> 3.1)
75
- moped (~> 1.1.3)
76
- origin (~> 1.0.3)
71
+ moped (~> 1.1)
72
+ origin (~> 1.0)
77
73
  tzinfo (~> 0.3.22)
78
- moped (1.1.5)
74
+ moped (1.2.0)
79
75
  multi_json (1.3.6)
80
- origin (1.0.4)
76
+ origin (1.0.6)
81
77
  polyglot (0.3.3)
82
78
  rack (1.4.1)
83
79
  rack-cache (1.2)
data/info CHANGED
@@ -1,50 +1,123 @@
1
- # Logfile created on 2012-07-16 12:39:42 +1000 by logger.rb/31641
2
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
3
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
4
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
5
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
6
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
7
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
8
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
9
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
10
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
11
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
12
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
13
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
14
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
15
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
16
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
17
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
18
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
19
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
20
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
21
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
22
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
23
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
24
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
25
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
26
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
27
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
28
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
29
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
30
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
31
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
32
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
33
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
34
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
35
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
36
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
37
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
38
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
39
- Vero: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
40
- User: Error attempting to track event: {:auth_token=>"YWJjZDEyMzQ6ZWZnaDU2Nzg=", :development_mode=>true, :event_name=>"test_event", :identity=>{:email=>"durkster@gmail.com", :age=>20}, :data=>{:test=>1}} error: Connection refused - connect(2)
41
- RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"148", "Content-Type"=>"application/x-www-form-urlencoded"
42
-
43
- RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"148", "Content-Type"=>"application/x-www-form-urlencoded"
44
-
45
- RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"148", "Content-Type"=>"application/x-www-form-urlencoded"
46
-
47
- RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"148", "Content-Type"=>"application/x-www-form-urlencoded"
48
-
49
- RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"148", "Content-Type"=>"application/x-www-form-urlencoded"
1
+ # Logfile created on 2012-08-12 22:31:19 +1000 by logger.rb/31641
2
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
3
+
4
+ Class: method: Vero::API::TrackAPI, options: {"auth_token":"YWJjZDEyMzQ6ZWZnaDU2Nzg=","development_mode":true,"data":{"test":1},"event_name":"test_event","identity":{"email":"durkster@gmail.com","age":20,"_user_type":"User"}}, error: Connection refused - connect(2)
5
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
6
+
7
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
8
+
9
+ Vero::Sender: method: Vero::API::TrackAPI, options: {"auth_token":"YWJjZDEyMzQ6ZWZnaDU2Nzg=","development_mode":true,"data":{"test":1},"event_name":"test_event","identity":{"email":"durkster@gmail.com","age":20,"_user_type":"User"}}, error: Connection refused - connect(2)
10
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
11
+
12
+ Vero::Sender: method: Vero::API::TrackAPI, options: {"auth_token":"YWJjZDEyMzQ6ZWZnaDU2Nzg=","development_mode":true,"data":{"test":1},"event_name":"test_event","identity":{"email":"durkster@gmail.com","age":20,"_user_type":"User"}}, error: Connection refused - connect(2)
13
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
14
+
15
+ Vero::Sender: method: Vero::API::TrackAPI, options: {"auth_token":"YWJjZDEyMzQ6ZWZnaDU2Nzg=","development_mode":true,"data":{"test":1},"event_name":"test_event","identity":{"email":"durkster@gmail.com","age":20,"_user_type":"User"}}, error: Connection refused - connect(2)
16
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
17
+
18
+ Vero::Sender: method: Vero::API::TrackAPI, options: {"auth_token":"YWJjZDEyMzQ6ZWZnaDU2Nzg=","development_mode":true,"data":{"test":1},"event_name":"test_event","identity":{"email":"durkster@gmail.com","age":20,"_user_type":"User"}}, error: Connection refused - connect(2)
19
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&data[test]=1&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
20
+
21
+ Vero::Sender: method: Vero::API::TrackAPI, options: {"auth_token":"YWJjZDEyMzQ6ZWZnaDU2Nzg=","development_mode":true,"data":{"test":1},"event_name":"test_event","identity":{"email":"durkster@gmail.com","age":20,"_user_type":"User"}}, error: Connection refused - connect(2)
22
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
23
+
24
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
25
+
26
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
27
+
28
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
29
+
30
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
31
+
32
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
33
+
34
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
35
+
36
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
37
+
38
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
39
+
40
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
41
+
42
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
43
+
44
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
45
+
46
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
47
+
48
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
49
+
50
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
51
+
52
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
53
+
54
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
55
+
56
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
57
+
58
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
59
+
60
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
61
+
62
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
63
+
64
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
65
+
66
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
67
+
68
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
69
+
70
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
71
+
72
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
73
+
74
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
75
+
76
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
77
+
78
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
79
+
80
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
81
+
82
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
83
+
84
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
85
+
86
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
87
+
88
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
89
+
90
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
91
+
92
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
93
+
94
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
95
+
96
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
97
+
98
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
99
+
100
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
101
+
102
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
103
+
104
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
105
+
106
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
107
+
108
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
109
+
110
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
111
+
112
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
113
+
114
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
115
+
116
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
117
+
118
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
119
+
120
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
121
+
122
+ RestClient.post "http://localhost/api/v1/track.json", "auth_token=YWJjZDEyMzQ6ZWZnaDU2Nzg%3D&development_mode=true&event_name=test_event&identity[email]=durkster%40gmail.com&identity[age]=20&identity[_user_type]=User&data[test]=1", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Content-Length"=>"174", "Content-Type"=>"application/x-www-form-urlencoded"
50
123
 
data/lib/vero.rb CHANGED
@@ -2,10 +2,13 @@ require 'rails'
2
2
 
3
3
  module Vero
4
4
  autoload :Config, 'vero/config'
5
- autoload :Logger, 'vero/logger'
6
5
  autoload :App, 'vero/app'
7
6
  autoload :Context, 'vero/context'
8
7
  autoload :Trackable, 'vero/trackable'
8
+
9
+ module Utility
10
+ autoload :Logger, 'vero/utility/logger'
11
+ end
9
12
  end
10
13
 
11
14
  if defined? ActiveRecord
data/lib/vero/app.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Vero
2
2
  class App
3
- include Vero::Logger
3
+ include Vero::Utility::Logger
4
4
 
5
5
  def self.default_context
6
6
  @@default_context ||= Context.new
data/lib/vero/config.rb CHANGED
@@ -16,12 +16,14 @@ module Vero
16
16
  end
17
17
 
18
18
  def request_params
19
- temp = {}
20
- temp_auth_token = self.auth_token
21
- temp[:auth_token] = temp_auth_token unless temp_auth_token.nil?
22
- temp[:development_mode] = self.development_mode unless self.development_mode.nil?
23
-
24
- temp
19
+ [:auth_token, :development_mode].inject({}) do |h, symbol|
20
+ method_name = "from_#{symbol}".to_sym
21
+ if respond_to?(symbol)
22
+ temp = send(symbol)
23
+ h[symbol] = temp unless temp.blank?
24
+ end
25
+ h
26
+ end
25
27
  end
26
28
 
27
29
  def domain
@@ -29,14 +31,18 @@ module Vero
29
31
  end
30
32
 
31
33
  def auth_token
32
- return if api_key.blank? || secret.blank?
34
+ return unless auth_token?
33
35
  Base64::encode64("#{api_key}:#{secret}").gsub(/[\n ]/, '')
34
36
  end
35
37
 
36
- def configured?
38
+ def auth_token?
37
39
  !api_key.blank? && !secret.blank?
38
40
  end
39
41
 
42
+ def configured?
43
+ auth_token?
44
+ end
45
+
40
46
  def reset!
41
47
  self.disabled = false
42
48
  self.development_mode = !Rails.env.production?
@@ -50,7 +56,7 @@ module Vero
50
56
  return unless attributes.is_a?(Hash)
51
57
 
52
58
  Vero::Config.available_attributes.each do |symbol|
53
- method_name = "#{symbol.to_s}=".to_sym
59
+ method_name = "#{symbol}=".to_sym
54
60
  self.send(method_name, attributes[symbol]) if self.respond_to?(method_name) && attributes.has_key?(symbol)
55
61
  end
56
62
  end
data/lib/vero/context.rb CHANGED
@@ -58,24 +58,39 @@ module Vero
58
58
  else
59
59
  :post_now
60
60
  end
61
- self.send(method, "http://#{@config.domain}/api/v1/track.json", request_params)
61
+ self.send(method, "http://#{@config.domain}/api/v1/track.json", request_params, 'track')
62
+ end
63
+
64
+ def identify!
65
+ validate_configured!
66
+
67
+ data = subject.to_vero
68
+ request_params = @config.request_params
69
+ request_params.merge!({:email => data[:email], :data => data})
70
+
71
+ method = if @config.async
72
+ :post_later
73
+ else
74
+ :post_now
75
+ end
76
+ self.send(method, "http://#{@config.domain}/api/v1/user.json", request_params, 'identify!')
62
77
  end
63
78
 
64
79
  private
65
- def post_now(url, params)
80
+ def post_now(url, params, method_name)
66
81
  unless @config.disabled
67
82
  Vero::Jobs::RestPostJob.new(url, params).perform
68
- Vero::App.log(self, "method: track, params: #{params.to_json}, response: job performed")
83
+ Vero::App.log(self, "method: #{method_name}, params: #{params.to_json}, response: job performed")
69
84
  end
70
85
  'success'
71
86
  rescue => e
72
- Vero::App.log(self, "method: track, params: #{params.to_json} error: #{e.message}")
87
+ Vero::App.log(self, "method: #{method_name}, params: #{params.to_json} error: #{e.message}")
73
88
  end
74
89
 
75
- def post_later(url, params)
90
+ def post_later(url, params, method_name)
76
91
  unless @config.disabled
77
92
  ::Delayed::Job.enqueue Vero::Jobs::RestPostJob.new(url, params)
78
- Vero::App.log(self, "method: track, params: #{params.to_json}, response: delayed job queued")
93
+ Vero::App.log(self, "method: #{method_name}, params: #{params.to_json}, response: delayed job queued")
79
94
  end
80
95
  'success'
81
96
  rescue => e
data/lib/vero/railtie.rb CHANGED
@@ -1,8 +1,9 @@
1
- require 'vero/view_helpers'
1
+ require 'vero/view_helpers/javascript'
2
+
2
3
  module Vero
3
4
  class Railtie < Rails::Railtie
4
5
  initializer "vero.view_helpers" do
5
- ActionView::Base.send :include, ViewHelpers
6
+ ActionView::Base.send :include, ViewHelpers::Javascript
6
7
  end
7
8
  end
8
9
  end
@@ -1,47 +1,14 @@
1
+ require 'vero/trackable/base'
2
+ require 'vero/trackable/interface'
3
+
1
4
  module Vero
2
- module Trackable
5
+ module Trackable
6
+ include Base
7
+ include Interface
8
+
3
9
  def self.included(base)
4
10
  @vero_trackable_map = []
5
- base.extend(ClassMethods)
6
- end
7
-
8
- module ClassMethods
9
- def trackable(*args)
10
- @vero_trackable_map = case @vero_trackable_map
11
- when Array then (@vero_trackable_map << args).flatten
12
- else
13
- args
14
- end
15
- end
16
-
17
- def trackable_map
18
- @vero_trackable_map
19
- end
20
-
21
- def reset_trackable_map!
22
- @vero_trackable_map = nil
23
- end
24
- end
25
-
26
- def to_vero
27
- klass = self.class
28
- result = klass.trackable_map.inject({}) do |hash, symbol|
29
- hash[symbol] = self.send(symbol)
30
- hash
31
- end
32
-
33
- result[:email] = result.delete(:email_address) if result.has_key?(:email_address)
34
- result
35
- end
36
-
37
- def with_vero_context(context = {})
38
- context = Vero::Context.new(context)
39
- context.subject = self
40
- context
41
- end
42
-
43
- def track(event_name, event_data = {})
44
- self.with_vero_context(Vero::App.default_context).track(event_name, event_data)
11
+ base.extend(Base::ClassMethods)
45
12
  end
46
13
  end
47
14
  end
@@ -0,0 +1,50 @@
1
+ module Vero
2
+ module Trackable
3
+ module Base
4
+ def self.included(base)
5
+ @vero_trackable_map = []
6
+ base.extend(ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def trackable(*args)
11
+ @vero_trackable_map = case @vero_trackable_map
12
+ when Array then (@vero_trackable_map << args).flatten
13
+ else
14
+ args
15
+ end
16
+ end
17
+
18
+ def trackable_map
19
+ @vero_trackable_map
20
+ end
21
+
22
+ def reset_trackable_map!
23
+ @vero_trackable_map = nil
24
+ end
25
+ end
26
+
27
+ def to_vero
28
+ klass = self.class
29
+ result = klass.trackable_map.inject({}) do |hash, symbol|
30
+ hash[symbol] = self.send(symbol)
31
+ hash
32
+ end
33
+
34
+ result[:email] = result.delete(:email_address) if result.has_key?(:email_address)
35
+ result[:_user_type] = self.class.name
36
+ result
37
+ end
38
+
39
+ def with_vero_context(context = {})
40
+ context = Vero::Context.new(context)
41
+ context.subject = self
42
+ context
43
+ end
44
+
45
+ def with_default_vero_context
46
+ with_vero_context(Vero::App.default_context)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,13 @@
1
+ module Vero
2
+ module Trackable
3
+ module Interface
4
+ def track(event_name, event_data = {})
5
+ with_default_vero_context.track(event_name, event_data)
6
+ end
7
+
8
+ def identify!
9
+ with_default_vero_context.identify!
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,27 @@
1
+ module Vero
2
+ module Utility
3
+ module Logger
4
+ def self.included(base)
5
+ base.extend(ClassMethods)
6
+ end
7
+
8
+ module ClassMethods
9
+ def log(object, message)
10
+ return unless Vero::App.default_context.config.logging
11
+
12
+ message = "#{object.class.name}: #{message}"
13
+
14
+ if (logger = self.logger)
15
+ logger.info(message)
16
+ else
17
+ puts(message)
18
+ end
19
+ end
20
+
21
+ def logger
22
+ return Rails.logger if defined?(Rails) && Rails.logger
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
data/lib/vero/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vero
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.2'
3
3
  end
@@ -0,0 +1,42 @@
1
+ module Vero
2
+ module ViewHelpers
3
+ module Javascript
4
+ def vero_javascript_tag(method = :default, context = Vero::App.default_context)
5
+ return "" unless context.configured?
6
+ config = context.config
7
+
8
+ unless [:default, :mixpanel, :kissmetrics].include?(method)
9
+ method = :default
10
+ end
11
+
12
+ method_name = method.to_s + "_vero_javascript_tag"
13
+ self.send(method_name.to_sym, config.config_params)
14
+ end
15
+
16
+ private
17
+ def default_vero_javascript_tag(options = {})
18
+ content_tag :script, {:type => "text/javascript"} do
19
+ result = "var _veroq = _veroq || [];" +
20
+ "setTimeout(function(){if(typeof window.Semblance==\"undefined\"){console.log(\"Vero did not load in time.\");for(var i=0;i<_veroq.length;i++){a=_veroq[i];if(a.length==3&&typeof a[2]==\"function\")a[2](null,false);}}},3000);" +
21
+ "_veroq.push(['init', {" +
22
+ options_to_string(options) +
23
+ "}]);" +
24
+ "(function() {var ve = document.createElement('script'); ve.type = 'text/javascript'; ve.async = true; ve.src = '//getvero.com/assets/m.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ve, s);})();"
25
+ result.html_safe
26
+ end.html_safe
27
+ end
28
+
29
+ def mixpanel_vero_javascript_tag(options = {})
30
+ end
31
+
32
+ def kissmetrics_vero_javascript_tag(options = {})
33
+ end
34
+
35
+ def options_to_string(options)
36
+ options = {} unless options.kind_of?(Hash)
37
+ result = options.keys.collect { |k| "\"#{k}\": \"#{options[k]}\"" }
38
+ result.join(", ")
39
+ end
40
+ end
41
+ end
42
+ end
@@ -2,14 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe Vero::Trackable do
4
4
  before :each do
5
- @request_params = {
6
- :event_name => 'test_event',
7
- :auth_token => 'YWJjZDEyMzQ6ZWZnaDU2Nzg=',
8
- :identity => {:email => 'durkster@gmail.com', :age => 20},
9
- :data => { :test => 1 },
10
- :development_mode => true
11
- }
12
- @url = "http://www.getvero.com/api/v1/track.json"
13
5
  @user = User.new
14
6
  end
15
7
 
@@ -21,7 +13,14 @@ describe Vero::Trackable do
21
13
  describe :track do
22
14
  it "should raise an error" do
23
15
  @user.stub(:post_later).and_return('success')
24
- expect { @user.track(@request_params[:event_name], @request_params[:data]) }.to raise_error
16
+ expect { @user.track("test_event", {}) }.to raise_error
17
+ end
18
+ end
19
+
20
+ describe :identity! do
21
+ it "should raise an error" do
22
+ @user.stub(:post_later).and_return('success')
23
+ expect { @user.identity! }.to raise_error
25
24
  end
26
25
  end
27
26
  end
@@ -36,6 +35,17 @@ describe Vero::Trackable do
36
35
  end
37
36
 
38
37
  describe :track do
38
+ before do
39
+ @request_params = {
40
+ :event_name => 'test_event',
41
+ :auth_token => 'YWJjZDEyMzQ6ZWZnaDU2Nzg=',
42
+ :identity => {:email => 'durkster@gmail.com', :age => 20, :_user_type => "User"},
43
+ :data => { :test => 1 },
44
+ :development_mode => true
45
+ }
46
+ @url = "http://www.getvero.com/api/v1/track.json"
47
+ end
48
+
39
49
  it "should not send a track request when the required parameters are invalid" do
40
50
  @user.stub(:post_now).and_return(200)
41
51
 
@@ -44,11 +54,11 @@ describe Vero::Trackable do
44
54
  expect { @user.track('test', '') }.to raise_error
45
55
  end
46
56
 
47
- it "should send a track request when async is set to false" do
57
+ it "should send a `track` request when async is set to false" do
48
58
  context = Vero::Context.new(Vero::App.default_context)
49
59
  context.subject = @user
50
60
  context.stub(:post_now).and_return(200)
51
- context.should_receive(:post_now).with(@url, @request_params).at_least(:once)
61
+ context.should_receive(:post_now).with(@url, @request_params, "track").at_least(:once)
52
62
 
53
63
  @user.stub(:with_vero_context).and_return(context)
54
64
 
@@ -62,7 +72,7 @@ describe Vero::Trackable do
62
72
  context.config.async = true
63
73
 
64
74
  context.stub(:post_later).and_return('success')
65
- context.should_receive(:post_later).with(@url, @request_params).at_least(:once)
75
+ context.should_receive(:post_later).with(@url, @request_params, "track").at_least(:once)
66
76
 
67
77
  @user.stub(:with_vero_context).and_return(context)
68
78
 
@@ -73,11 +83,49 @@ describe Vero::Trackable do
73
83
  it "should not raise an error when async is set to false and the request times out" do
74
84
  Rails.stub(:logger).and_return(Logger.new('info'))
75
85
 
76
- context = Vero::App.default_context
86
+ context = Vero::Context.new(Vero::App.default_context)
77
87
  context.config.async = false
78
88
  context.config.domain = "localhost"
79
89
 
80
90
  expect { @user.track(@request_params[:event_name], @request_params[:data]) }.to_not raise_error
91
+
92
+ context.config.domain = "www.getvero.com"
93
+ end
94
+ end
95
+
96
+ describe :identify! do
97
+ before do
98
+ @request_params = {
99
+ :auth_token => 'YWJjZDEyMzQ6ZWZnaDU2Nzg=',
100
+ :data => {:email => 'durkster@gmail.com', :age => 20, :_user_type => "User"},
101
+ :development_mode => true,
102
+ :email => 'durkster@gmail.com'
103
+ }
104
+ @url = "http://www.getvero.com/api/v1/user.json"
105
+ end
106
+
107
+ it "should send an `identify` request when async is set to false" do
108
+ context = Vero::Context.new(Vero::App.default_context)
109
+ context.subject = @user
110
+ context.stub(:post_now).and_return(200)
111
+ context.should_receive(:post_now).with(@url, @request_params, "identify!").at_least(:once)
112
+
113
+ @user.stub(:with_vero_context).and_return(context)
114
+
115
+ @user.identify!.should == 200
116
+ end
117
+
118
+ it "should create a delayed job when async is set to true" do
119
+ context = Vero::Context.new(Vero::App.default_context)
120
+ context.subject = @user
121
+ context.config.async = true
122
+
123
+ context.stub(:post_later).and_return('success')
124
+ context.should_receive(:post_later).with(@url, @request_params, "identify!").at_least(:once)
125
+
126
+ @user.stub(:with_vero_context).and_return(context)
127
+
128
+ @user.identify!.should == 'success'
81
129
  end
82
130
  end
83
131
 
@@ -103,17 +151,48 @@ describe Vero::Trackable do
103
151
 
104
152
  describe :to_vero do
105
153
  it "should return a hash of all values mapped by trackable" do
106
- temp_params = {:email => 'durkster@gmail.com', :age => 20}
107
-
108
154
  user = User.new
109
- user.to_vero.should == temp_params
155
+ user.to_vero.should == {:email => 'durkster@gmail.com', :age => 20, :_user_type => "User"}
110
156
 
111
157
  user = UserWithoutEmail.new
112
- user.to_vero.should == temp_params
158
+ user.to_vero.should == {:email => 'durkster@gmail.com', :age => 20, :_user_type => "UserWithoutEmail"}
113
159
 
114
160
  user = UserWithEmailAddress.new
115
- user.to_vero.should == temp_params
161
+ user.to_vero.should == {:email => 'durkster@gmail.com', :age => 20, :_user_type => "UserWithEmailAddress"}
162
+
163
+ user = UserWithoutInterface.new
164
+ user.to_vero.should == {:email => 'durkster@gmail.com', :age => 20, :_user_type => "UserWithoutInterface"}
116
165
  end
117
166
  end
167
+
168
+ describe :with_vero_context do
169
+ it "should be able to change contexts" do
170
+ user = User.new
171
+ user.with_default_vero_context.config.config_params.should == {:api_key=>"abcd1234", :secret=>"efgh5678"}
172
+ user.with_vero_context({:api_key => "boom", :secret => "tish"}).config.config_params.should == {:api_key=>"boom", :secret=>"tish"}
173
+ end
174
+ end
175
+
176
+ it "should work when Vero::Trackable::Interface is not included" do
177
+ user = UserWithoutInterface.new
178
+
179
+ request_params = {
180
+ :event_name => 'test_event',
181
+ :auth_token => 'YWJjZDEyMzQ6ZWZnaDU2Nzg=',
182
+ :identity => {:email => 'durkster@gmail.com', :age => 20, :_user_type => "UserWithoutInterface"},
183
+ :data => { :test => 1 },
184
+ :development_mode => true
185
+ }
186
+ url = "http://www.getvero.com/api/v1/track.json"
187
+
188
+ context = Vero::Context.new(Vero::App.default_context)
189
+ context.subject = user
190
+ context.stub(:post_now).and_return(200)
191
+ context.should_receive(:post_now).with(url, request_params, "track").at_least(:once)
192
+
193
+ user.stub(:with_vero_context).and_return(context)
194
+
195
+ user.vero_track(request_params[:event_name], request_params[:data]).should == 200
196
+ end
118
197
  end
119
198
  end
@@ -2,21 +2,22 @@ require 'spec_helper'
2
2
  require 'action_view'
3
3
  require 'active_support'
4
4
 
5
- include Vero::ViewHelpers
5
+ include Vero::ViewHelpers::Javascript
6
6
  include ActionView::Helpers
7
7
  include ActionView::Context
8
8
 
9
- describe Vero::ViewHelpers do
10
- before :each do
9
+ describe Vero::ViewHelpers::Javascript do
10
+ before do
11
11
  Vero::App.reset!
12
12
  end
13
13
 
14
+ subject { Vero::ViewHelpers::Javascript }
14
15
  describe :vero_javascript_tag do
15
16
  it "should return an empty string if Vero::App is not properly configured" do
16
- Vero::ViewHelpers.vero_javascript_tag.should == ""
17
+ subject.vero_javascript_tag.should == ""
17
18
 
18
19
  Vero::App.init {}
19
- Vero::ViewHelpers.vero_javascript_tag.should == ""
20
+ subject.vero_javascript_tag.should == ""
20
21
  end
21
22
 
22
23
  context "Vero::App has been properly configured" do
@@ -34,7 +35,7 @@ describe Vero::ViewHelpers do
34
35
 
35
36
  it "should return a properly formatted javascript snippet" do
36
37
  result = "<script type=\"text/javascript\">var _veroq = _veroq || [];setTimeout(function(){if(typeof window.Semblance==\"undefined\"){console.log(\"Vero did not load in time.\");for(var i=0;i<_veroq.length;i++){a=_veroq[i];if(a.length==3&&typeof a[2]==\"function\")a[2](null,false);}}},3000);_veroq.push(['init', {\"api_key\": \"#{@api_key}\", \"secret\": \"#{@api_secret}\"}]);(function() {var ve = document.createElement('script'); ve.type = 'text/javascript'; ve.async = true; ve.src = '//getvero.com/assets/m.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ve, s);})();</script>"
37
- Vero::ViewHelpers.vero_javascript_tag.should == result
38
+ subject.vero_javascript_tag.should == result
38
39
  end
39
40
  end
40
41
  end
@@ -39,4 +39,21 @@ class UserWithEmailAddress
39
39
  def age
40
40
  20
41
41
  end
42
+ end
43
+
44
+ class UserWithoutInterface
45
+ include Vero::Trackable::Base
46
+ trackable :email_address, :age
47
+
48
+ def email_address
49
+ 'durkster@gmail.com'
50
+ end
51
+
52
+ def age
53
+ 20
54
+ end
55
+
56
+ def vero_track(event_name, event_data)
57
+ with_default_vero_context.track(event_name, event_data)
58
+ end
42
59
  end
data/vero.gemspec CHANGED
@@ -6,13 +6,16 @@ require "vero/version"
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "vero"
8
8
  s.version = Vero::VERSION.dup
9
- s.date = "2012-06-09"
9
+ s.date = Time.now.strftime("%Y-%m-%d")
10
10
  s.summary = "Rails 3.x gem for Vero"
11
11
  s.email = "support@getvero.com"
12
- s.homepage = "http://getvero.com/"
12
+ s.homepage = "http://www.getvero.com/"
13
13
  s.authors = ['James Lamont']
14
14
 
15
15
  dependencies = [
16
+ [:development, 'rails'],
17
+ [:development, 'debugger'],
18
+ [:development, 'rspec'],
16
19
  [:runtime, 'rest-client'],
17
20
  [:runtime, 'delayed_job'],
18
21
  [:runtime, 'delayed_job_active_record'],
@@ -24,7 +27,6 @@ Gem::Specification.new do |s|
24
27
  s.executables = Dir['bin/*'].map { |f| File.basename(f) }
25
28
  s.require_paths = ["lib"]
26
29
 
27
-
28
30
  ## Make sure you can build the gem on older versions of RubyGems too:
29
31
  s.rubygems_version = "1.8.23"
30
32
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,56 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-09 00:00:00.000000000 Z
12
+ date: 2012-08-16 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: debugger
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
14
62
  - !ruby/object:Gem::Dependency
15
63
  name: rest-client
16
64
  requirement: !ruby/object:Gem::Requirement
@@ -89,11 +137,13 @@ files:
89
137
  - lib/vero/config.rb
90
138
  - lib/vero/context.rb
91
139
  - lib/vero/jobs/rest_post_job.rb
92
- - lib/vero/logger.rb
93
140
  - lib/vero/railtie.rb
141
+ - lib/vero/trackable/base.rb
142
+ - lib/vero/trackable/interface.rb
94
143
  - lib/vero/trackable.rb
144
+ - lib/vero/utility/logger.rb
95
145
  - lib/vero/version.rb
96
- - lib/vero/view_helpers.rb
146
+ - lib/vero/view_helpers/javascript.rb
97
147
  - lib/vero.rb
98
148
  - README.markdown
99
149
  - spec/lib/app_spec.rb
@@ -105,7 +155,7 @@ files:
105
155
  - spec/support/user_support.rb
106
156
  - spec/support/vero_user_support.rb
107
157
  - vero.gemspec
108
- homepage: http://getvero.com/
158
+ homepage: http://www.getvero.com/
109
159
  licenses: []
110
160
  post_install_message:
111
161
  rdoc_options: []
data/lib/vero/logger.rb DELETED
@@ -1,25 +0,0 @@
1
- module Vero
2
- module Logger
3
- def self.included(base)
4
- base.extend(ClassMethods)
5
- end
6
-
7
- module ClassMethods
8
- def log(object, message)
9
- return unless Vero::App.default_context.config.logging
10
-
11
- message = "#{object.class.name}: #{message}"
12
-
13
- if (logger = self.logger)
14
- logger.info(message)
15
- else
16
- puts(message)
17
- end
18
- end
19
-
20
- def logger
21
- defined?(Rails) && Rails.logger ? Rails.logger : nil
22
- end
23
- end
24
- end
25
- end
@@ -1,40 +0,0 @@
1
- module Vero
2
- module ViewHelpers
3
- def vero_javascript_tag(method = :default, context = Vero::App.default_context)
4
- return "" unless context.configured?
5
- config = context.config
6
-
7
- unless [:default, :mixpanel, :kissmetrics].include?(method)
8
- method = :default
9
- end
10
-
11
- method_name = method.to_s + "_vero_javascript_tag"
12
- self.send(method_name.to_sym, config.config_params)
13
- end
14
-
15
- private
16
- def default_vero_javascript_tag(options = {})
17
- content_tag :script, {:type => "text/javascript"} do
18
- result = "var _veroq = _veroq || [];" +
19
- "setTimeout(function(){if(typeof window.Semblance==\"undefined\"){console.log(\"Vero did not load in time.\");for(var i=0;i<_veroq.length;i++){a=_veroq[i];if(a.length==3&&typeof a[2]==\"function\")a[2](null,false);}}},3000);" +
20
- "_veroq.push(['init', {" +
21
- options_to_string(options) +
22
- "}]);" +
23
- "(function() {var ve = document.createElement('script'); ve.type = 'text/javascript'; ve.async = true; ve.src = '//getvero.com/assets/m.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ve, s);})();"
24
- result.html_safe
25
- end.html_safe
26
- end
27
-
28
- def mixpanel_vero_javascript_tag(options = {})
29
- end
30
-
31
- def kissmetrics_vero_javascript_tag(options = {})
32
- end
33
-
34
- def options_to_string(options)
35
- options = {} unless options.kind_of?(Hash)
36
- result = options.keys.collect { |k| "\"#{k}\": \"#{options[k]}\"" }
37
- result.join(", ")
38
- end
39
- end
40
- end