class Urbanairship::AbTests::Experiment

Attributes

audience[RW]
campaigns[RW]
control[RW]
created_at[RW]
description[RW]
device_types[RW]
id[RW]
name[RW]
push_id[RW]
variants[RW]

Public Class Methods

new(client: required('client')) click to toggle source
# File lib/urbanairship/ab_tests/experiment.rb, line 19
def initialize(client: required('client'))
    @client = client
    @variants = []
end

Public Instance Methods

payload() click to toggle source
# File lib/urbanairship/ab_tests/experiment.rb, line 24
def payload
    fail ArgumentError, 'audience is required for experiment' if @audience.nil?
    fail ArgumentError, 'device_types is required for experiment' if @device_types.nil?
    fail ArgumentError, 'variant cannot be empty for experiment' if @variants.empty?

    {
        'name': name,
        'description': description,
        'control': control,
        'audience': audience,
        'device_types': device_types,
        'campaigns': campaigns,
        'variants': variants,
        'id': id,
        'created_at': created_at,
        'push_id': push_id
    }.delete_if {|key, value| value.nil?} #this removes the nil key value pairs
end