Class: GitFit::Timezone::Resolver
- Inherits:
-
Object
- Object
- GitFit::Timezone::Resolver
- Defined in:
- lib/git_fit/timezone/resolver.rb
Instance Method Summary collapse
-
#initialize(config, finder: nil) ⇒ Resolver
constructor
A new instance of Resolver.
- #resolve(lat, lng) ⇒ Object
Constructor Details
#initialize(config, finder: nil) ⇒ Resolver
Returns a new instance of Resolver.
8 9 10 11 12 |
# File 'lib/git_fit/timezone/resolver.rb', line 8 def initialize(config, finder: nil) default = config.is_a?(Hash) ? config.dig('system', 'timezone') : config @finder = finder || TimezoneFinder.create @default = default || 'Asia/Shanghai' end |
Instance Method Details
#resolve(lat, lng) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/git_fit/timezone/resolver.rb', line 14 def resolve(lat, lng) return @default unless lat && lng tz = @finder.timezone_at(lat: lat.to_f, lng: lng.to_f) tz = nil if tz.is_a?(String) && tz.empty? tz || @default end |