Sha256: 32b20d2005877fc90c38b01fee6364276c56951a488b40e341ffec253200ab71

Contents?: true

Size: 668 Bytes

Versions: 11

Compression:

Stored size: 668 Bytes

Contents

require 'timezone/lookup/basic'
require 'timezone/error'

module Timezone
  module Lookup
    # @!visibility private
    class Test < ::Timezone::Lookup::Basic
      def initialize(_config)
        @stubs = {}
        @default_stub = nil
      end

      def stub(lat, long, timezone)
        @stubs[key(lat, long)] = timezone
      end

      def default(timezone)
        @default_stub = timezone
      end

      def lookup(lat, long)
        @stubs.fetch(key(lat, long)) do
          @default_stub || raise(::Timezone::Error::Test, 'missing stub')
        end
      end

      private

      def key(lat, long)
        "#{lat},#{long}"
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
timezone-1.2.8 lib/timezone/lookup/test.rb
timezone-1.2.7 lib/timezone/lookup/test.rb
timezone-1.2.6 lib/timezone/lookup/test.rb
timezone-1.2.5 lib/timezone/lookup/test.rb
timezone-1.2.4 lib/timezone/lookup/test.rb
timezone-1.2.3 lib/timezone/lookup/test.rb
timezone-1.2.2 lib/timezone/lookup/test.rb
timezone-1.2.1 lib/timezone/lookup/test.rb
timezone-1.2.0 lib/timezone/lookup/test.rb
timezone-1.1.1 lib/timezone/lookup/test.rb
timezone-1.1.0 lib/timezone/lookup/test.rb