class Timezone::Lookup::Test

@!visibility private

Public Class Methods

new(_config) click to toggle source
# File lib/timezone/lookup/test.rb, line 10
def initialize(_config)
  @stubs = {}
  @default_stub = nil
end

Public Instance Methods

default(timezone) click to toggle source
# File lib/timezone/lookup/test.rb, line 23
def default(timezone)
  @default_stub = timezone
end
lookup(lat, long) click to toggle source
# File lib/timezone/lookup/test.rb, line 27
def lookup(lat, long)
  @stubs.fetch(key(lat, long)) do
    @default_stub || raise(::Timezone::Error::Test, 'missing stub')
  end
end
stub(lat, long, timezone) click to toggle source
# File lib/timezone/lookup/test.rb, line 15
def stub(lat, long, timezone)
  @stubs[key(lat, long)] = timezone
end
unstub(lat, long) click to toggle source
# File lib/timezone/lookup/test.rb, line 19
def unstub(lat, long)
  @stubs.delete(key(lat, long))
end

Private Instance Methods

key(lat, long) click to toggle source
# File lib/timezone/lookup/test.rb, line 35
def key(lat, long)
  "#{lat},#{long}"
end