absmartly-sdk 1.1.1 → 1.1.2

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
  SHA256:
3
- metadata.gz: 88583d2ef2d2e30b6e3ae0cd792b6ba9878f77e11f6ac4b71f7cccb6af54e949
4
- data.tar.gz: 1765353f85830fafc82d11419eb9c6e6570a27ad16f15a5f04c463fbf5775286
3
+ metadata.gz: 8a43518b761dda2ac2d8c0297e39c9b0ce83c48c7f8a173206148d4e28f7db3d
4
+ data.tar.gz: f770928ce488617ce4381e67a5d12df3bfdfd07fa05bb04e5144dcd186bdfd0d
5
5
  SHA512:
6
- metadata.gz: 4330e0c76860055b646b430a5ff598112e65bbcdbb661a2601f72346f95f16777aeb6782d6a1f9b493f9941a182c22f2ed22ee114f72b08b3dbaad03c50b7639
7
- data.tar.gz: 61068750226957ca03280428846336a3166390181a08c138cc26a48d7967576bc2233542bd1797565473cde5ce0c23e4b0706a9b32465572025fc89043fff162
6
+ metadata.gz: a5d3b4c6d70f2893a291192e85a2bccd8a9be25381d2a4d7c870d77a8c46853b4249dcbc80c04688204384024be6f505c3e946b75ca54998812ed232a7783f15
7
+ data.tar.gz: ec9681200650e472a496c36930a2332224d305a5304d2bea53398d12563071762afc9efdfce763b5412a5a10eac20e98d0bfafdac70eae3821464790043fc18e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- absmartly-sdk (1.1.1)
4
+ absmartly-sdk (1.1.2)
5
5
  faraday (~> 2.0)
6
6
  faraday-retry (~> 2.0)
7
7
  murmurhash3 (~> 0.1.7)
data/example/example.rb CHANGED
@@ -48,3 +48,38 @@ properties = {
48
48
  ctx.track("payment", properties)
49
49
 
50
50
  ctx.close
51
+
52
+ context_data = Absmartly.context_data
53
+ ctx2 = Absmartly.create_context_with(context_config, context_data)
54
+
55
+ treatment = ctx2.treatment("exp_test_ab")
56
+ puts(treatment) # 0
57
+ treatment1 = ctx2.treatment("net_seasons")
58
+ puts(treatment1) # 1
59
+ treatment2 = ctx2.treatment("Experimento!")
60
+ puts(treatment2) # 1
61
+ treatment3 = ctx2.treatment("test")
62
+ puts(treatment3) # 1
63
+
64
+ ctx2.set_unit("db_user_id", 1000013)
65
+ ctx2.set_units(db_user_id2: 1000013, session_id2: 12311)
66
+
67
+ ctx2.set_attribute("user_agent", "Chrome 2022")
68
+ ctx2.set_attributes(
69
+ customer_age: "new_customer",
70
+ customer_point: 20,
71
+ )
72
+
73
+ ctx2.set_override("new_exp", 3)
74
+ ctx2.set_overrides(
75
+ exp_test_experiment: 1,
76
+ exp_another_experiment: 0,
77
+ )
78
+ ctx2.publish
79
+ properties = {
80
+ value: 125,
81
+ fee: 125
82
+ }
83
+ ctx2.track("payment", properties)
84
+
85
+ ctx2.close
data/lib/a_b_smartly.rb CHANGED
@@ -64,7 +64,7 @@ class ABSmartly
64
64
  end
65
65
 
66
66
  def create_context_with(config, data)
67
- Context.create(get_utc_format, config, scheduler, data,
67
+ Context.create(get_utc_format, config, data,
68
68
  @context_data_provider, @context_event_handler, @context_event_logger, @variable_parser,
69
69
  AudienceMatcher.new(@audience_deserializer))
70
70
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Absmartly
4
- VERSION = "1.1.1"
4
+ VERSION = "1.1.2"
5
5
  end
data/lib/absmartly.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "absmartly/version"
4
- require_relative "absmartly/variant_assigner"
5
4
  require_relative "a_b_smartly"
6
5
  require_relative "a_b_smartly_config"
7
6
  require_relative "client"
@@ -33,6 +32,14 @@ module Absmartly
33
32
  sdk.create_context(context_config)
34
33
  end
35
34
 
35
+ def create_context_with(context_config, data)
36
+ sdk.create_context_with(context_config, data)
37
+ end
38
+
39
+ def context_data
40
+ sdk.context_data
41
+ end
42
+
36
43
  private
37
44
  def client_config
38
45
  @client_config = ClientConfig.create
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: absmartly-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - absmartly
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-16 00:00:00.000000000 Z
11
+ date: 2024-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -75,7 +75,6 @@ files:
75
75
  - lib/a_b_smartly.rb
76
76
  - lib/a_b_smartly_config.rb
77
77
  - lib/absmartly.rb
78
- - lib/absmartly/variant_assigner.rb
79
78
  - lib/absmartly/version.rb
80
79
  - lib/audience_deserializer.rb
81
80
  - lib/audience_matcher.rb
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "murmurhash3"
4
-
5
- module Absmartly
6
- # VariantAssigner
7
- class VariantAssigner
8
- def initialize(_unit)
9
- # this._unitHash = murmur3_32(stringToUint8Array(unit).buffer);
10
- end
11
-
12
- def assign(split, seed_hi, seed_lo)
13
- prob = probability(seed_hi, seed_lo)
14
- chooseVariant(split, prob)
15
- end
16
-
17
- # private
18
-
19
- # def chooseVariant(split, prob)
20
- #
21
- # end
22
- #
23
- # def probability(seedHi, seedLo)
24
- # const key = this._unitHash;
25
- # const buffer = new ArrayBuffer(12)
26
- # const view = new DataView(buffer)
27
- # view.setUint32(0, seedLo, true)
28
- # view.setUint32(4, seedHi, true)
29
- # view.setUint32(8, key, true)
30
- #
31
- # murmur3_32(buffer) * (1.0 / 0xffffffff)
32
- # end
33
- end
34
- end
35
- # DataView.new(new_bytes_buffer, src_offset, new_bytes.length)