test_track_rails_client 4.0.0.alpha8 → 4.0.0.alpha9

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: 3c421a570a50e10dbfdff7420aafa19964ee4c01
4
- data.tar.gz: 901a202cbb0db2717ba240b6466f6408ddb1b3c4
3
+ metadata.gz: 629da11fcbfee5696bb015df4e2e14258cee29c3
4
+ data.tar.gz: 8ae8b3bf5ea58b8cbbe858f4b6dff750474282b1
5
5
  SHA512:
6
- metadata.gz: 684fa6562e8a88bd4092bbd2cf0f5527f84c4c4e55b307c5ca9ec88f4d965cfb193aec37fb20a08aefda96588fbc34597f9b1b91198bf3390c3dde7c09484505
7
- data.tar.gz: 63edb85ee37e5eba3d15fc2f926eca2aae470bf0f927d2b5cde366206edc48f8b12ebc685849343fd06fb66a54a53aa101e51606e02c4869923bad91694c750c
6
+ metadata.gz: 5dde230b69d332342cfde930cef086e44bc33e3d69363e93884f464d99dbdcf74f8ad292d757a48973b31ad4a35f94bbd5f1f4a07b75c216a6ecd1fdf9bd9e77
7
+ data.tar.gz: acbc533c47b4ed7ab1d170a67c37f31852a161dbaf558bed87c9a1a786914a942cde94843326f3e9c2fb20a267d7bf921242053a308007ed15b030041434f672
@@ -1,10 +1,9 @@
1
1
  module TestTrack
2
2
  class AnalyticsEvent
3
- attr_reader :assignment
3
+ attr_reader :visitor_id, :assignment
4
4
 
5
- delegate :visitor_id, to: :assignment
6
-
7
- def initialize(assignment)
5
+ def initialize(visitor_id, assignment)
6
+ @visitor_id = visitor_id
8
7
  @assignment = assignment
9
8
  end
10
9
 
@@ -23,10 +23,6 @@ class TestTrack::Assignment
23
23
  split_name.end_with?('_enabled')
24
24
  end
25
25
 
26
- def visitor_id
27
- visitor.id
28
- end
29
-
30
26
  private
31
27
 
32
28
  def _variant
@@ -1,7 +1,7 @@
1
1
  class TestTrack::Fake::Visitor
2
2
  attr_reader :id
3
3
 
4
- Assignment = Struct.new(:split_name, :variant, :unsynced, :context, :visitor_id)
4
+ Assignment = Struct.new(:split_name, :variant, :unsynced, :context)
5
5
 
6
6
  def self.instance
7
7
  @instance ||= new(TestTrack::FakeServer.seed)
@@ -28,7 +28,7 @@ class TestTrack::Fake::Visitor
28
28
  def _assignments
29
29
  split_registry.keys.map do |split_name|
30
30
  variant = TestTrack::VariantCalculator.new(visitor: self, split_name: split_name).variant
31
- Assignment.new(split_name, variant, false, "the_context", id)
31
+ Assignment.new(split_name, variant, false, "the_context")
32
32
  end
33
33
  end
34
34
  end
@@ -27,7 +27,7 @@ class TestTrack::NotifyAssignmentJob
27
27
 
28
28
  def track
29
29
  return "failure" unless TestTrack.enabled?
30
- result = TestTrack.analytics.track(TestTrack::AnalyticsEvent.new(assignment))
30
+ result = TestTrack.analytics.track(TestTrack::AnalyticsEvent.new(visitor_id, assignment))
31
31
  result ? "success" : "failure"
32
32
  end
33
33
  end
@@ -1,14 +1,4 @@
1
1
  class TestTrack::OfflineSession
2
- AnalyticsAssignment = Struct.new(:visitor_id, :split_name, :variant, :context, :unsynced) do
3
- def unsynced?
4
- unsynced
5
- end
6
-
7
- def feature_gate?
8
- split_name.end_with?('_enabled')
9
- end
10
- end
11
-
12
2
  def initialize(remote_visitor)
13
3
  @remote_visitor = remote_visitor
14
4
  end
@@ -40,22 +30,10 @@ class TestTrack::OfflineSession
40
30
  def visitor
41
31
  @visitor ||= TestTrack::Visitor.new(
42
32
  id: remote_visitor.id,
43
- assignments: analytics_assignments
33
+ assignments: remote_visitor.assignments
44
34
  )
45
35
  end
46
36
 
47
- def analytics_assignments
48
- remote_visitor.assignments.map do |remote_assignment|
49
- AnalyticsAssignment.new(
50
- remote_visitor.id,
51
- remote_assignment.split_name,
52
- remote_assignment.variant,
53
- remote_assignment.context,
54
- remote_assignment.unsynced
55
- )
56
- end
57
- end
58
-
59
37
  def manage
60
38
  yield TestTrack::VisitorDSL.new(visitor)
61
39
  ensure
@@ -1,14 +1,18 @@
1
1
  class TestTrack::Remote::Assignment
2
2
  include TestTrack::RemoteModel
3
3
 
4
- attributes :visitor_id, :split_name, :variant, :context, :unsynced
4
+ attributes :split_name, :variant, :context, :unsynced
5
5
 
6
- validates :visitor_id, :split_name, :variant, :mixpanel_result, presence: true
6
+ validates :split_name, :variant, :mixpanel_result, presence: true
7
7
 
8
8
  def unsynced?
9
9
  unsynced || variant_changed?
10
10
  end
11
11
 
12
+ def feature_gate?
13
+ split_name.end_with?('_enabled')
14
+ end
15
+
12
16
  def self.fake_instance_attributes(id)
13
17
  {
14
18
  split_name: "split_#{id}",
@@ -1,3 +1,3 @@
1
1
  module TestTrackRailsClient
2
- VERSION = "4.0.0.alpha8" # rubocop:disable Style/MutableConstant
2
+ VERSION = "4.0.0.alpha9" # rubocop:disable Style/MutableConstant
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_track_rails_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha8
4
+ version: 4.0.0.alpha9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan O'Neill
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-05-08 00:00:00.000000000 Z
16
+ date: 2018-05-25 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: airbrake