Class: Iterable::Experiments

Inherits:
ApiResource show all
Defined in:
lib/iterable/experiments.rb

Overview

Interact with /experiments API endpoints

Examples:

Creating experiments endpoint object

# With default config
templates = Iterable::Experiments.new [1, 2, 3]
templates.get

# With custom config
conf = Iterable::Config.new(token: 'new-token')
templates = Iterable::Experiments.new([1, 2, 3], config)

Instance Attribute Summary collapse

Attributes inherited from ApiResource

#conf

Instance Method Summary collapse

Methods inherited from ApiResource

default_config, #default_config

Constructor Details

#initialize(experiment_ids = [], conf = nil) ⇒ Iterable::Experiments

Initialize Experiments with an array of experiment ids

Parameters:

  • experiment_ids (Array[Integer]) (defaults to: [])

    Array of experiment_id Integers

  • conf (Iterable::Config) (defaults to: nil)

    A config to optionally pass for requests



25
26
27
28
# File 'lib/iterable/experiments.rb', line 25

def initialize(experiment_ids = [], conf = nil)
  @experiment_ids = experiment_ids
  super conf
end

Instance Attribute Details

#experiment_idsObject (readonly)

Returns the value of attribute experiment_ids.



15
16
17
# File 'lib/iterable/experiments.rb', line 15

def experiment_ids
  @experiment_ids
end

Instance Method Details

#metrics(campaign_ids = [], start_time = nil, end_time = nil) ⇒ Iterable::Response

Get metrics for experiments

Parameters:

  • start_time (Date|Time) (defaults to: nil)

    Start of metrics to query for

  • end_time (Date|Time) (defaults to: nil)

    End of metrics to query for

Returns:



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/iterable/experiments.rb', line 39

def metrics(campaign_ids = [], start_time = nil, end_time = nil)
  params = {
    experimentId: @experiment_ids,
    campaignId: campaign_ids
  }
  if start_time
    params[:startTime] = start_time.to_date.strftime(Iterable::DATE_FORMAT)
    params[:endTime] = end_time.to_date.strftime(Iterable::DATE_FORMAT)
  end
  Iterable.request(conf, '/experiments/metrics', params).get
end