Class: Kameleoon::CustomData
- Inherits:
-
DuplicationUnsafeData
- Object
- Data
- DuplicationUnsafeData
- Kameleoon::CustomData
- Defined in:
- lib/kameleoon/data/custom_data.rb
Overview
Represents any custom data for targeting conditions
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Attributes inherited from Data
Instance Method Summary collapse
- #initialize(arg0, *args) ⇒ Object constructor
-
#obtain_full_post_text_line ⇒ Object
rubocop:enable Metrics/MethodLength.
Methods inherited from Data
Constructor Details
#initialize(arg0, *args) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/kameleoon/data/custom_data.rb', line 19 def initialize(arg0, *args) super(DataType::CUSTOM) if arg0.is_a?(Hash) hash = arg0 id = hash['id'] raise Kameleoon::Exception::NotFound.new('id'), '"id" is mandatory' if id.nil? @id = id values = hash['values'] raise Kameleoon::Exception::NotFound.new('values'), '"values" is mandatory' if values.nil? @values = values.is_a?(Array) ? values.dup : [values] else @id = arg0 @values = args end return if @id.is_a?(Integer) warn "CustomData field 'id' must be of 'Integer' type" @id = @id.is_a?(String) ? @id.to_i : -1 end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
10 11 12 |
# File 'lib/kameleoon/data/custom_data.rb', line 10 def id @id end |
#values ⇒ Object (readonly)
Returns the value of attribute values.
10 11 12 |
# File 'lib/kameleoon/data/custom_data.rb', line 10 def values @values end |
Instance Method Details
#obtain_full_post_text_line ⇒ Object
rubocop:enable Metrics/MethodLength
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/kameleoon/data/custom_data.rb', line 42 def obtain_full_post_text_line return '' if @values.empty? str_values = JSON.generate(Hash[@values.collect { |k| [k, 1] }]) params = { eventType: 'customData', index: @id, valuesCountMap: str_values, overwrite: 'true', nonce: nonce } Kameleoon::Network::UriHelper.encode_query(params) end |