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.
6 7 8 9 10 |
# File 'lib/git_fit/timezone/resolver.rb', line 6 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
12 13 14 15 16 17 |
# File 'lib/git_fit/timezone/resolver.rb', line 12 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 |