Sha256: 0e2987b1855a0f03c1df2c14958741b1cfc4f24bd26784efd81390161d7e118c

Contents?: true

Size: 998 Bytes

Versions: 13

Compression:

Stored size: 998 Bytes

Contents

require 'ddtrace/ext/environment'

module Datadog
  # Namespace for handling application environment
  module Environment
    # Defines helper methods for environment
    module Helpers
      def env_to_bool(var, default = nil)
        var = decode_array(var)
        var && ENV.key?(var) ? ENV[var].to_s.strip.downcase == 'true' : default
      end

      def env_to_int(var, default = nil)
        var = decode_array(var)
        var && ENV.key?(var) ? ENV[var].to_i : default
      end

      def env_to_float(var, default = nil)
        var = decode_array(var)
        var && ENV.key?(var) ? ENV[var].to_f : default
      end

      def env_to_list(var, default = [])
        var = decode_array(var)
        if var && ENV.key?(var)
          ENV[var].split(',').map(&:strip)
        else
          default
        end
      end

      private

      def decode_array(var)
        var.is_a?(Array) ? var.find { |env_var| ENV.key?(env_var) } : var
      end
    end

    extend Helpers
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
ddtrace-0.50.0 lib/ddtrace/environment.rb
ddtrace-0.49.0 lib/ddtrace/environment.rb
ddtrace-0.48.0 lib/ddtrace/environment.rb
ddtrace-0.47.0 lib/ddtrace/environment.rb
ddtrace-0.46.0 lib/ddtrace/environment.rb
ddtrace-0.45.0 lib/ddtrace/environment.rb
ddtrace-0.44.0 lib/ddtrace/environment.rb
ddtrace-0.43.0 lib/ddtrace/environment.rb
ddtrace-0.42.0 lib/ddtrace/environment.rb
ddtrace-0.41.0 lib/ddtrace/environment.rb
ls-trace-0.2.0 lib/ddtrace/environment.rb
ddtrace-0.40.0 lib/ddtrace/environment.rb
ddtrace-0.39.0 lib/ddtrace/environment.rb