Sha256: 03dce89842097e29326ba38285b9941655aab117907cffe8eb3ac3bb4232ed2d

Contents?: true

Size: 884 Bytes

Versions: 6

Compression:

Stored size: 884 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.new(number.to_s)
      rescue ArgumentError
        BigDecimal.new(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 & 1 rubygems

Version Path
split-3.3.1 lib/split/dashboard/helpers.rb
split-3.3.0 lib/split/dashboard/helpers.rb
split-3.2.0 lib/split/dashboard/helpers.rb
split-3.1.1 lib/split/dashboard/helpers.rb
split-3.1.0 lib/split/dashboard/helpers.rb
split-3.0.0 lib/split/dashboard/helpers.rb