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

Parameters:

  • experiment_name (String)

    Name for the experiment

  • ivar_name (String, Symbol) (defaults to: :variant)

    Name for the variable

Returns:



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