heap 0.1.2 → 0.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2e9fdf92b004132f3144d5857da192de33406ea0
4
- data.tar.gz: 28f04ac8ff6429e69fba13e2c96872fe163d3877
3
+ metadata.gz: 29e1017542b6783bbcb5bea44b19cba64c422c34
4
+ data.tar.gz: d082a1e537a141cc57d26cf3d604c95b08ae80ff
5
5
  SHA512:
6
- metadata.gz: 813ef58541ba692495cd6ac38b6b935773814a9baa642409d50abd6a01eea2c38b55e0d53797ea997eebaf3efdee701019b1e7835cb579bda1f77f6896177700
7
- data.tar.gz: b7a7fa2b9422dd62434c0570726397e8e900b51f8b44883b505bb57bbd837008db6b40588f4ce195abcaf54aeddd16c476e5ad90ff61220f02c203ef37264e0d
6
+ metadata.gz: 13f9fbb1e5a7c4872f80e89062cbe448efe36c35e7ee463bece34b49b891d9a37990c9bf8c27563d0fc9ebe1757d284b10dac63e8525df08e34415c54b5994a6
7
+ data.tar.gz: 8c22f073fba35448e2fccf535ea75dd76348550ab3c1308b52f62402a78fa1100f316c2f2d898751dad895d7c8f9f1ec6ef93c31b9ac3e5b97e24b0da3a832c6
@@ -39,6 +39,10 @@ Example:
39
39
 
40
40
  <%= heap_identify(current_user.email, name: current_user.name, role: current_user.role) if signed_in? %>
41
41
 
42
+ If you wish to use a different handle type, only `handle`/`email` are supported at the time of writing, you can set it using `Heap.default_handle_type = 'handle'`.
43
+
44
+ Default is set to `email`.
45
+
42
46
  ### Tracking server-side events
43
47
 
44
48
  In case you want to track server-side events -- for example when sending a welcome e-mail to a new user --, you can do so using `Heap.event`. `Heap.event` takes 3 arguments:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: heap 0.1.2 ruby lib
5
+ # stub: heap 0.1.3 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "heap"
9
- s.version = "0.1.2"
9
+ s.version = "0.1.3"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Dennis de Reus"]
14
- s.date = "2014-12-21"
14
+ s.date = "2015-02-05"
15
15
  s.description = "Easy integration of heapanalytics into your ruby app"
16
16
  s.email = "dennisdereus@gmail.com"
17
17
  s.extra_rdoc_files = [
@@ -34,7 +34,8 @@ Gem::Specification.new do |s|
34
34
  "lib/heap/railtie.rb",
35
35
  "lib/heap/view_helpers.rb",
36
36
  "test/helper.rb",
37
- "test/test_heap.rb"
37
+ "test/test_heap.rb",
38
+ "test/test_view_helper.rb"
38
39
  ]
39
40
  s.homepage = "https://github.com/HectorMalot/heap"
40
41
  s.licenses = ["MIT"]
@@ -14,4 +14,12 @@ class Heap
14
14
  def self.app_id
15
15
  @@app_id
16
16
  end
17
- end
17
+
18
+ def self.default_handle_type=(value)
19
+ @@handle_type = value
20
+ end
21
+
22
+ def self.default_handle_type
23
+ @@handle_type ||= 'email'
24
+ end
25
+ end
@@ -3,18 +3,17 @@ class Heap
3
3
  def heap_analytics
4
4
  javascript_tag :type => "text/javascript" do
5
5
  raw %Q{
6
- window.heap=window.heap||[],heap.load=function(t,e){window.heap.appid=t,window.heap.config=e;var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=("https:"===document.location.protocol?"https:":"http:")+"//cdn.heapanalytics.com/js/heap.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n);for(var o=function(t){return function(){heap.push([t].concat(Array.prototype.slice.call(arguments,0)))}},p=["clearEventProperties","identify","setEventProperties","track","unsetEventProperty"],c=0;c<p.length;c++)heap[p[c]]=o(p[c])};
6
+ window.heap=window.heap||[],heap.load=function(t,e){window.heap.appid=t,window.heap.config=e;var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=("https:"===document.location.protocol?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+t+".js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n);for(var o=function(t){return function(){heap.push([t].concat(Array.prototype.slice.call(arguments,0)))}},p=["clearEventProperties","identify","setEventProperties","track","unsetEventProperty"],c=0;c<p.length;c++)heap[p[c]]=o(p[c])};
7
7
  heap.load("#{Heap.app_id}");
8
8
  }.html_safe
9
9
  end
10
10
  end
11
11
 
12
- def heap_identify(email, properties=nil)
12
+ def heap_identify(handle, properties = nil)
13
13
  body = properties.map {|k,v| ", #{k}: \"#{v}\""}.join if properties.is_a? Hash
14
14
  javascript_tag do
15
- raw %Q{heap.identify({email: "#{email}" #{body}}); }.html_safe
15
+ raw %Q{heap.identify({#{Heap.default_handle_type}: "#{handle}" #{body}});}.html_safe
16
16
  end
17
-
18
17
  end
19
18
  end
20
19
  end
@@ -21,6 +21,7 @@ rescue Bundler::BundlerError => e
21
21
  end
22
22
 
23
23
  require 'heap'
24
+ require 'heap/view_helpers'
24
25
  require 'minitest/autorun'
25
26
  require 'shoulda'
26
27
  require 'webmock/minitest'
@@ -28,4 +29,4 @@ require 'webmock/minitest'
28
29
  class MiniTest::Test
29
30
  end
30
31
 
31
- MiniTest.autorun
32
+ MiniTest.autorun
@@ -22,4 +22,14 @@ class TestHeap < MiniTest::Test
22
22
  result = Heap.identify('test@example.com', :property1 => 'hello', :property2 => 'world')
23
23
  assert_equal result.to_s, "{}"
24
24
  end
25
- end
25
+
26
+ should "default to email handler" do
27
+ assert_equal Heap.default_handle_type, 'email'
28
+ end
29
+
30
+ should "allow to change the handler" do
31
+ Heap.default_handle_type = 'handle'
32
+ assert_equal Heap.default_handle_type, 'handle'
33
+ Heap.default_handle_type = nil
34
+ end
35
+ end
@@ -0,0 +1,10 @@
1
+ require 'helper'
2
+
3
+ class HeapHelperTest < MiniTest::Test
4
+ include Heap::ViewHelpers
5
+
6
+ should "produce correct identify handle type" #do
7
+ # handle = '123'
8
+ # assert_equal heap_identify(handle), "heap.identify({email: \"#{handle}\" });"
9
+ # end
10
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis de Reus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-21 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -132,6 +132,7 @@ files:
132
132
  - lib/heap/view_helpers.rb
133
133
  - test/helper.rb
134
134
  - test/test_heap.rb
135
+ - test/test_view_helper.rb
135
136
  homepage: https://github.com/HectorMalot/heap
136
137
  licenses:
137
138
  - MIT