Sha256: b02330a5135a6ec0a0bd0c8d3df8caa809d6bd3a228515e3d9b51f794e01ef26

Contents?: true

Size: 876 Bytes

Versions: 3

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

3 entries across 3 versions & 1 rubygems

Version Path
split-4.0.4 lib/split/dashboard/helpers.rb
split-4.0.3 lib/split/dashboard/helpers.rb
split-4.0.2 lib/split/dashboard/helpers.rb