Sha256: d0d9b2565e52c58de48a131470acf12043d22e91c784e57f9cfabab7fc02743b

Contents?: true

Size: 1.5 KB

Versions: 12

Compression:

Stored size: 1.5 KB

Contents

require 'urbanairship'

module Urbanairship
    module  AbTests
        class Experiment
        include Urbanairship::Common
        include Urbanairship::Loggable
        attr_accessor :audience,
                      :campaigns,
                      :control,
                      :created_at,
                      :description,
                      :device_types,
                      :id, 
                      :name,
                      :push_id,
                      :variants
                        
            def initialize(client: required('client'))
                @client = client
                @variants = []
            end

            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

        end
    end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
urbanairship-9.4.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-9.2.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-9.1.1 lib/urbanairship/ab_tests/experiment.rb
urbanairship-9.1.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-9.0.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-8.0.1 lib/urbanairship/ab_tests/experiment.rb
urbanairship-8.0.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-7.0.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-6.0.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-5.9.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-5.8.0 lib/urbanairship/ab_tests/experiment.rb
urbanairship-5.7.0 lib/urbanairship/ab_tests/experiment.rb