Module: Gxapi::ControllerMethods

Defined in:
lib/gxapi/controller_methods.rb

Instance Method Summary collapse

Instance Method Details

#gxapi_get_variant(experiment_name, ivar_name = :variant) ⇒ Celluloid::Future, Gxapi::Ostruct

Get the variant and set it as an instance variable, handling overriding by passing in the URL



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/gxapi/controller_methods.rb', line 12

def gxapi_get_variant(experiment_name, ivar_name = :variant)
  # handle override
  if params[ivar_name]
    val = Gxapi::Ostruct.new(
      value: {
        index: -1,
        experiment_id: nil,
        name: params[ivar_name]
      }
    )
  else
    val = self.gxapi_base.get_variant(experiment_name)
  end
  return instance_variable_set("@#{ivar_name}", val)
end