Sha256: c8b45ddf6f81ab07a78fdccc157e5c23809ae11ca8e32d9a330251245ae9d05d

Contents?: true

Size: 815 Bytes

Versions: 16

Compression:

Stored size: 815 Bytes

Contents

# frozen_string_literal: true

require "service_skeleton/config_variable"

class ServiceSkeleton::ConfigVariable::Integer < ServiceSkeleton::ConfigVariable
  private

  def pluck_value(env)
    maybe_default(env) do
      value = env[@name.to_s]

      if value =~ /\A-?\d+\z/
        value.to_i.tap do |i|
          unless @opts[:range].include?(i)
            raise ServiceSkeleton::Error::InvalidEnvironmentError,
                  "Value #{i} for environment variable #{@name} is out of the valid range (must be between #{@opts[:range].first} and #{@opts[:range].last} inclusive)"
          end
        end
      else
        raise ServiceSkeleton::Error::InvalidEnvironmentError,
              "Value #{value.inspect} for environment variable #{@name} is not a valid integer value"
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
service_skeleton-2.2.0 lib/service_skeleton/config_variable/integer.rb
service_skeleton-2.1.0 lib/service_skeleton/config_variable/integer.rb
service_skeleton-1.0.5 lib/service_skeleton/config_variable/integer.rb
service_skeleton-2.0.2 lib/service_skeleton/config_variable/integer.rb
service_skeleton-2.0.1 lib/service_skeleton/config_variable/integer.rb
service_skeleton-2.0.0 lib/service_skeleton/config_variable/integer.rb
service_skeleton-1.0.4 lib/service_skeleton/config_variable/integer.rb
service_skeleton-0.0.0.1.ENOTAG lib/service_skeleton/config_variable/integer.rb
service_skeleton-1.0.3 lib/service_skeleton/config_variable/integer.rb
service_skeleton-1.0.2 lib/service_skeleton/config_variable/integer.rb
service_skeleton-1.0.1 lib/service_skeleton/config_variable/integer.rb
service_skeleton-0.0.0.49.g47046b9 lib/service_skeleton/config_variable/integer.rb
service_skeleton-0.0.0.48.g4a40599 lib/service_skeleton/config_variable/integer.rb
service_skeleton-0.0.0.44.g75d07d7 lib/service_skeleton/config_variable/integer.rb
service_skeleton-0.0.0.43.g678698a lib/service_skeleton/config_variable/integer.rb
service_skeleton-0.0.0.41.g9507cda lib/service_skeleton/config_variable/integer.rb