test_track_rails_client 4.0.0.alpha8 → 4.0.0.alpha9

Sign up to get free protection for your applications and to get access to all the features.
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