Class: RecombeeApiClient::AddManualReqlSegment

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

Overview

Adds a new Segment into a Manual ReQL Segmentation.

The new Segment is defined by a ReQL filter that returns true for an item in case that this item belongs to the segment.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from HashNormalizer

#camelize, #normalize_hash_to_camel_case

Constructor Details

#initialize(segmentation_id, segment_id, filter, optional = {}) ⇒ AddManualReqlSegment

  • Required arguments

    • segmentation_id -> ID of the Segmentation to which the new Segment should be added
    • segment_id -> ID of the newly created Segment
    • filter -> ReQL filter that returns true for items that belong to this Segment. Otherwise returns false.
  • Optional arguments (given as hash optional)

    • title -> Human-readable name of the Segment that is shown in the Recombee Admin UI.


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

def initialize(segmentation_id, segment_id, filter, optional = {})
  @segmentation_id = segmentation_id
  @segment_id = segment_id
  @filter = filter
  optional = normalize_hash_to_camel_case(optional)
  @title = optional['title']
  @optional = optional
  @timeout = 10_000
  @ensure_https = false
  @optional.each do |par, _|
    raise UnknownOptionalParameter.new(par) unless ['title'].include? par
  end
end

Instance Attribute Details

#ensure_httpsObject

Returns the value of attribute ensure_https.



16
17
18
# File 'lib/recombee_api_client/api/add_manual_reql_segment.rb', line 16

def ensure_https
  @ensure_https
end

#filterObject (readonly)

Returns the value of attribute filter.



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

def filter
  @filter
end

#segment_idObject (readonly)

Returns the value of attribute segment_id.



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

def segment_id
  @segment_id
end

#segmentation_idObject (readonly)

Returns the value of attribute segmentation_id.



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

def segmentation_id
  @segmentation_id
end

#timeoutObject

Returns the value of attribute timeout.



16
17
18
# File 'lib/recombee_api_client/api/add_manual_reql_segment.rb', line 16

def timeout
  @timeout
end

#titleObject (readonly)

Returns the value of attribute title.



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

def title
  @title
end

Instance Method Details

#body_parametersObject

Values of body parameters as a Hash



49
50
51
52
53
54
55
# File 'lib/recombee_api_client/api/add_manual_reql_segment.rb', line 49

def body_parameters
  p = {}
  p['filter'] = @filter
  p['title'] = @optional['title'] if @optional.include? 'title'

  p
end

#methodObject

HTTP method



44
45
46
# File 'lib/recombee_api_client/api/add_manual_reql_segment.rb', line 44

def method
  :put
end

#pathObject

Relative path to the endpoint



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

def path
  "/{databaseId}/segmentations/manual-reql/#{@segmentation_id}/segments/#{@segment_id}"
end

#query_parametersObject

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



59
60
61
# File 'lib/recombee_api_client/api/add_manual_reql_segment.rb', line 59

def query_parameters
  {}
end