Class: AmplitudeExperiment::Assignment

Inherits:
Object
  • Object
show all
Defined in:
lib/experiment/local/assignment/assignment.rb

Overview

Assignment

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user, results) ⇒ Assignment

Returns a new instance of Assignment.



7
8
9
10
11
# File 'lib/experiment/local/assignment/assignment.rb', line 7

def initialize(user, results)
  @user = user
  @results = results
  @timestamp = (Time.now.to_f * 1000).to_i
end

Instance Attribute Details

#resultsObject

Returns the value of attribute results.



5
6
7
# File 'lib/experiment/local/assignment/assignment.rb', line 5

def results
  @results
end

#timestampObject

Returns the value of attribute timestamp.



5
6
7
# File 'lib/experiment/local/assignment/assignment.rb', line 5

def timestamp
  @timestamp
end

#userObject

Returns the value of attribute user.



5
6
7
# File 'lib/experiment/local/assignment/assignment.rb', line 5

def user
  @user
end

Instance Method Details

#canonicalizeObject



13
14
15
16
17
18
19
20
21
# File 'lib/experiment/local/assignment/assignment.rb', line 13

def canonicalize
  sb = "#{@user&.user_id&.strip} #{@user&.device_id&.strip} "
  results.sort.to_h.each do |key, value|
    next unless value.key

    sb += "#{key.strip} #{value.key&.strip} "
  end
  sb
end