isc_analytics 0.6.0 → 0.6.1

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.
Files changed (2) hide show
  1. data/lib/isc_analytics/client_api.rb +9 -5
  2. metadata +2 -2
@@ -7,7 +7,7 @@ module IscAnalytics
7
7
  if properties.blank?
8
8
  enqueue 'identify', identifier
9
9
  else
10
- enqueue 'identify', identifier, properties
10
+ enqueue 'identify', identifier, escape_properties(properties)
11
11
  end
12
12
  set_identity(identifier)
13
13
  end
@@ -21,19 +21,19 @@ module IscAnalytics
21
21
  def track_event(name, properties = {})
22
22
  unless name.blank?
23
23
  if properties.blank?
24
- enqueue 'trackEvent', name
24
+ enqueue 'trackEvent', CGI::escapeHTML(name)
25
25
  else
26
- enqueue 'trackEvent', name, properties
26
+ enqueue 'trackEvent', CGI::escapeHTML(name), escape_properties(properties)
27
27
  end
28
28
  end
29
29
  end
30
30
 
31
31
  def set_properties(properties = {})
32
- enqueue('setProperties', properties) unless properties.blank?
32
+ enqueue('setProperties', escape_properties(properties)) unless properties.blank?
33
33
  end
34
34
 
35
35
  def set_property(property, value = nil)
36
- enqueue('setProperty', property, value) unless property.blank?
36
+ enqueue('setProperty', CGI::escapeHTML(property), value ? CGI::escapeHTML(value) : value) unless property.blank?
37
37
  end
38
38
 
39
39
  # reset_queue makes sure that subsequent calls will not send events that have already been sent.
@@ -91,5 +91,9 @@ module IscAnalytics
91
91
  queue.delete_if { |api_call| !(/identify/ =~ api_call).nil? }
92
92
  end
93
93
 
94
+ def escape_properties(properties)
95
+ Hash[properties.map{ |k, v| [(k.kind_of?(String) ? CGI::escapeHTML(k) : k), (v.kind_of?(String) ? CGI::escapeHTML(v) : v)] }]
96
+ end
97
+
94
98
  end
95
99
  end
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.6.0
4
+ version: 0.6.1
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: 2013-02-20 00:00:00.000000000 Z
13
+ date: 2013-08-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: controller_support