class GovukAbTesting::AbTest
Attributes
ab_test_name[R]
allowed_variants[R]
control_variant[R]
dimension[R]
name[R]
Public Class Methods
new(ab_test_name, dimension:, allowed_variants: %w[A B], control_variant: "A")
click to toggle source
@param request [String] the name of the A/B test @param dimension [Integer] the dimension registered with Google Analytics for this specific A/B test @param allowed_variants
[Array] an array of Strings representing the possible variants @param control_variant
[String] the control variant (typically 'A')
# File lib/govuk_ab_testing/ab_test.rb, line 16 def initialize(ab_test_name, dimension:, allowed_variants: %w[A B], control_variant: "A") @ab_test_name = ab_test_name @dimension = dimension @allowed_variants = allowed_variants @control_variant = control_variant end
Public Instance Methods
meta_tag_name()
click to toggle source
# File lib/govuk_ab_testing/ab_test.rb, line 38 def meta_tag_name ab_test_name end
request_header()
click to toggle source
Internal name of the header
# File lib/govuk_ab_testing/ab_test.rb, line 30 def request_header "HTTP_GOVUK_ABTEST_#{ab_test_name.upcase}" end
requested_variant(request_headers)
click to toggle source
@param request [ActionDispatch::Http::Headers] the `request.headers` in the controller.
# File lib/govuk_ab_testing/ab_test.rb, line 25 def requested_variant(request_headers) RequestedVariant.new(self, request_headers, @dimension) end
response_header()
click to toggle source
# File lib/govuk_ab_testing/ab_test.rb, line 34 def response_header "GOVUK-ABTest-#{meta_tag_name}" end