Class: RecombeeApiClient::AddItemProperty
- Inherits:
-
ApiRequest
- Object
- ApiRequest
- RecombeeApiClient::AddItemProperty
- Defined in:
- lib/recombee_api_client/api/add_item_property.rb
Overview
Adding an item property is somewhat equivalent to adding a column to the table of items. The items may be characterized by various properties of different types.
Instance Attribute Summary collapse
-
#ensure_https ⇒ Object
Returns the value of attribute ensure_https.
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
-
#property_name ⇒ Object
readonly
Returns the value of attribute property_name.
-
#role ⇒ Object
readonly
Returns the value of attribute role.
-
#timeout ⇒ Object
Returns the value of attribute timeout.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#body_parameters ⇒ Object
Values of body parameters as a Hash.
-
#initialize(property_name, type, optional = {}) ⇒ AddItemProperty
constructor
-
*Required arguments* -
property_name-> Name of the item property to be created.
-
-
#method ⇒ Object
HTTP method.
-
#path ⇒ Object
Relative path to the endpoint.
-
#query_parameters ⇒ Object
Values of query parameters as a Hash.
Methods included from HashNormalizer
#camelize, #normalize_hash_to_camel_case
Constructor Details
#initialize(property_name, type, optional = {}) ⇒ AddItemProperty
-
*Required arguments*
-
property_name-> Name of the item property to be created. Currently, the following names are reserved: ‘id`, `itemid`, case-insensitively. Also, the length of the property name must not exceed 63 characters. -
type-> Value type of the item property to be created. One of: ‘int`, `double`, `string`, `boolean`, `timestamp`, `set`, `image` or `imageList`.
-
-
‘int` - Signed integer number.
-
‘double` - Floating point number. It uses 64-bit base-2 format (IEEE 754 standard).
-
‘string` - UTF-8 string.
-
‘boolean` - true / false
-
‘timestamp` - Value representing date and time. ISO8601-1 pattern (string) or UTC epoch time (number).
-
‘set` - Set of strings.
-
‘image` - URL of an image (`jpeg`, `png` or `gif`).
-
‘imageList` - List of URLs that refer to images.
-
*Optional arguments (given as hash optional)*
-
role-> [Role](docs.recombee.com/api/property_roles_metadata#roles) to assign to the property. -
metadata-> List of [metadata](docs.recombee.com/api/property_roles_metadata#metadata) entries to assign to the property.
-
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 44 def initialize(property_name, type, optional = {}) @property_name = property_name @type = type optional = normalize_hash_to_camel_case(optional) @role = optional['role'] @metadata = optional['metadata'] @optional = optional @timeout = 100_000 @ensure_https = false @optional.each do |par, _| raise UnknownOptionalParameter.new(par) unless %w[role metadata].include? par end end |
Instance Attribute Details
#ensure_https ⇒ Object
Returns the value of attribute ensure_https.
14 15 16 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 14 def ensure_https @ensure_https end |
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata.
13 14 15 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 13 def @metadata end |
#property_name ⇒ Object (readonly)
Returns the value of attribute property_name.
13 14 15 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 13 def property_name @property_name end |
#role ⇒ Object (readonly)
Returns the value of attribute role.
13 14 15 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 13 def role @role end |
#timeout ⇒ Object
Returns the value of attribute timeout.
14 15 16 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 14 def timeout @timeout end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
13 14 15 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 13 def type @type end |
Instance Method Details
#body_parameters ⇒ Object
Values of body parameters as a Hash
64 65 66 67 68 69 70 71 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 64 def body_parameters p = {} p['type'] = @type p['role'] = @optional['role'] if @optional.include? 'role' p['metadata'] = @optional['metadata'] if @optional.include? 'metadata' p end |
#method ⇒ Object
HTTP method
59 60 61 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 59 def method :put end |
#path ⇒ Object
Relative path to the endpoint
80 81 82 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 80 def path "/{databaseId}/items/properties/#{@property_name}" end |
#query_parameters ⇒ Object
Values of query parameters as a Hash. name of parameter => value of the parameter
75 76 77 |
# File 'lib/recombee_api_client/api/add_item_property.rb', line 75 def query_parameters {} end |