Class: RecombeeApiClient::AddDetailView

Inherits:
ApiRequest
  • Object
show all
Defined in:
lib/recombee_api_client/api/add_detail_view.rb

Overview

Adds a detail view of the given item made by the given user.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from HashNormalizer

#camelize, #normalize_optional

Constructor Details

#initialize(user_id, item_id, optional = {}) ⇒ AddDetailView

  • *Required arguments*

    • user_id -> User who viewed the item

    • item_id -> Viewed item

  • *Optional arguments (given as hash optional)*

    • timestamp -> UTC timestamp of the view as ISO8601-1 pattern or UTC epoch time. The default value is the current time.

    • duration -> Duration of the view

    • cascadeCreate -> Sets whether the given user/item should be created if not present in the database.

    • recommId -> If this detail view is based on a recommendation request, ‘recommId` is the id of the clicked recommendation.

    • additionalData -> A dictionary of additional data for the interaction.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 29

def initialize(user_id, item_id, optional = {})
  @user_id = user_id
  @item_id = item_id
  optional = normalize_optional(optional)
  @timestamp = optional['timestamp']
  @duration = optional['duration']
  @cascade_create = optional['cascadeCreate']
  @recomm_id = optional['recommId']
  @additional_data = optional['additionalData']
  @optional = optional
  @timeout = 3000
  @ensure_https = false
  @optional.each do |par, _|
    fail UnknownOptionalParameter.new(par) unless ["timestamp","duration","cascadeCreate","recommId","additionalData"].include? par
  end
end

Instance Attribute Details

#additional_dataObject (readonly)

Returns the value of attribute additional_data.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def additional_data
  @additional_data
end

#cascade_createObject (readonly)

Returns the value of attribute cascade_create.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def cascade_create
  @cascade_create
end

#durationObject (readonly)

Returns the value of attribute duration.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def duration
  @duration
end

#ensure_httpsObject

Returns the value of attribute ensure_https.



15
16
17
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 15

def ensure_https
  @ensure_https
end

#item_idObject (readonly)

Returns the value of attribute item_id.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def item_id
  @item_id
end

#recomm_idObject (readonly)

Returns the value of attribute recomm_id.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def recomm_id
  @recomm_id
end

#timeoutObject

Returns the value of attribute timeout.



14
15
16
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 14

def timeout
  @timeout
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def timestamp
  @timestamp
end

#user_idObject (readonly)

Returns the value of attribute user_id.



13
14
15
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 13

def user_id
  @user_id
end

Instance Method Details

#body_parametersObject

Values of body parameters as a Hash



52
53
54
55
56
57
58
59
60
61
62
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 52

def body_parameters
  p = Hash.new
  p['userId'] = @user_id
  p['itemId'] = @item_id
  p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp'
  p['duration'] = @optional['duration'] if @optional.include? 'duration'
  p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate'
  p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
  p['additionalData'] = @optional['additionalData'] if @optional.include? 'additionalData'
  p
end

#methodObject

HTTP method



47
48
49
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 47

def method
  :post
end

#pathObject

Relative path to the endpoint



72
73
74
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 72

def path
  "/{databaseId}/detailviews/"
end

#query_parametersObject

Values of query parameters as a Hash. name of parameter => value of the parameter



66
67
68
69
# File 'lib/recombee_api_client/api/add_detail_view.rb', line 66

def query_parameters
  params = {}
  params
end