Class: RecombeeApiClient::AddBookmark

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

Overview

Adds a bookmark 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 = {}) ⇒ AddBookmark

  • *Required arguments*

    • user_id -> User who bookmarked the item

    • item_id -> Bookmarked item

  • *Optional arguments (given as hash optional)*

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

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

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

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



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

def initialize(user_id, item_id, optional = {})
  @user_id = user_id
  @item_id = item_id
  optional = normalize_optional(optional)
  @timestamp = optional['timestamp']
  @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","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_bookmark.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_bookmark.rb', line 13

def cascade_create
  @cascade_create
end

#ensure_httpsObject

Returns the value of attribute ensure_https.



15
16
17
# File 'lib/recombee_api_client/api/add_bookmark.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_bookmark.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_bookmark.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_bookmark.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_bookmark.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_bookmark.rb', line 13

def user_id
  @user_id
end

Instance Method Details

#body_parametersObject

Values of body parameters as a Hash



50
51
52
53
54
55
56
57
58
59
# File 'lib/recombee_api_client/api/add_bookmark.rb', line 50

def body_parameters
  p = Hash.new
  p['userId'] = @user_id
  p['itemId'] = @item_id
  p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp'
  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



45
46
47
# File 'lib/recombee_api_client/api/add_bookmark.rb', line 45

def method
  :post
end

#pathObject

Relative path to the endpoint



69
70
71
# File 'lib/recombee_api_client/api/add_bookmark.rb', line 69

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

#query_parametersObject

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



63
64
65
66
# File 'lib/recombee_api_client/api/add_bookmark.rb', line 63

def query_parameters
  params = {}
  params
end