analytics-ruby-mock 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/analytics_ruby_mock.rb +37 -16
  2. metadata +2 -2
@@ -1,59 +1,80 @@
1
1
  module AnalyticsRuby
2
2
  module ClassMethods
3
+ attr_accessor :track_calls, :identify_calls, :alias_calls
4
+
5
+ #############################################################
6
+ # Track #####################################################
7
+
3
8
  def track(options)
4
9
  debug_message(:track, options)
5
10
 
6
- initialize if @track_count.nil?
7
- @track_count = @track_count + 1
11
+ initialize if @track_calls.nil?
12
+ @track_calls << options
8
13
  end
9
14
 
10
15
  def track_count
11
- initialize if @track_count.nil?
12
- @track_count
16
+ initialize if @track_calls.nil?
17
+ @track_calls.count
18
+ end
19
+
20
+ def track_events
21
+ @track_calls.collect { |t| t[:event] }
13
22
  end
14
23
 
24
+ #############################################################
25
+ # Identify ##################################################
26
+
15
27
  def identify(options)
16
28
  debug_message(:identify, options)
17
29
 
18
- initialize if @identify_count.nil?
19
- @identify_count = @identify_count + 1
30
+ initialize if @identify_calls.nil?
31
+ @identify_calls << options
20
32
  end
21
33
 
22
34
  def identify_count
23
- initialize if @identify_count.nil?
24
- @identify_count
35
+ initialize if @identify_calls.nil?
36
+ @identify_calls.count
25
37
  end
26
38
 
39
+ #############################################################
40
+ # Alias #####################################################
41
+
27
42
  def alias(options)
28
43
  debug_message(:alias, options)
29
44
 
30
- initialize if @alias_count.nil?
31
- @alias_count = @alias_count + 1
45
+ initialize if @alias_calls.nil?
46
+ @alias_calls << options
32
47
  end
33
48
 
34
49
  def alias_count
35
- initialize if @alias_count.nil?
36
- @alias_count
50
+ initialize if @alias_calls.nil?
51
+ @alias_calls.count
37
52
  end
38
53
 
54
+ #############################################################
55
+ # Flush #####################################################
56
+
39
57
  def flush
40
58
  debug_message(:flush)
41
59
  end
42
60
 
61
+ #############################################################
62
+ # Mock Interface ############################################
63
+
43
64
  def debug
44
65
  @debug = true
45
66
  end
46
67
 
47
- def clear_counts
68
+ def clear
48
69
  initialize
49
70
  end
50
71
 
51
72
  private
52
73
 
53
74
  def initialize
54
- @track_count = 0
55
- @identify_count = 0
56
- @alias_count = 0
75
+ @track_calls = []
76
+ @identify_calls = []
77
+ @alias_calls = []
57
78
  end
58
79
 
59
80
  def debug_message(method, options = nil)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: analytics-ruby-mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
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-09-20 00:00:00.000000000 Z
12
+ date: 2013-10-28 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Capture all calls to segment.io and prevent them from being sent.
15
15
  email: gavin@petrofeed.com