Sha256: fa4d7d6761a52bb04d4dc77a0a4466f19f7ca16a806ec77a7c2b95d9f98a506b

Contents?: true

Size: 876 Bytes

Versions: 6

Compression:

Stored size: 876 Bytes

Contents

# frozen_string_literal: true
module Split
  module DashboardHelpers
    def h(text)
      Rack::Utils.escape_html(text)
    end

    def url(*path_parts)
      [ path_prefix, path_parts ].join("/").squeeze('/')
    end

    def path_prefix
      request.env['SCRIPT_NAME']
    end

    def number_to_percentage(number, precision = 2)
      round(number * 100)
    end

    def round(number, precision = 2)
      begin
        BigDecimal(number.to_s)
      rescue ArgumentError
        BigDecimal(0)
      end.round(precision).to_f
    end

    def confidence_level(z_score)
      return z_score if z_score.is_a? String

      z = round(z_score.to_s.to_f, 3).abs

      if z >= 2.58
        '99% confidence'
      elsif z >= 1.96
        '95% confidence'
      elsif z >= 1.65
        '90% confidence'
      else
        'Insufficient confidence'
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
ab-split-1.0.2 lib/split/dashboard/helpers.rb
ab-split-1.0.1 lib/split/dashboard/helpers.rb
ab-split-1.0.0 lib/split/dashboard/helpers.rb
split-3.4.1 lib/split/dashboard/helpers.rb
split-3.4.0 lib/split/dashboard/helpers.rb
split-3.3.2 lib/split/dashboard/helpers.rb