Class: Timezone::Configure
- Inherits:
-
Object
- Object
- Timezone::Configure
- Defined in:
- lib/timezone/configure.rb
Overview
Configuration class for the Timezone gem.
You’ll want to sign up for a geonames username at Geonames. Use the username to configure your application for latitude and longitude based timezone searches. Alternatively, you’ll want to sign up for a Google api key at / Google. Use the api key to configure your application for latitude and longitude based timezone searches.
If you aren’t going to initialize timezone objects based on lat,lng then this configuration is not necessary.
Class Method Summary collapse
- .begin {|_self| ... } ⇒ Object
- .default_for_list ⇒ Object
- .default_for_list=(*list) ⇒ Object
- .geonames_lookup ⇒ Object
-
.geonames_protocol ⇒ String
The Geonames API HTTP protocol.
-
.geonames_protocol=(protocol) ⇒ Object
The Geonames API HTTP protocol.
-
.geonames_url ⇒ String
The Geonames API URL.
-
.geonames_url=(url) ⇒ Object
(also: url=)
The Geonames API URL.
-
.google_api_key ⇒ String
The Google API key.
-
.google_api_key=(api_key) ⇒ Object
Google API key.
- .google_lookup ⇒ Object
-
.google_protocol ⇒ String
The Google API HTTP protocol.
-
.google_protocol=(protocol) ⇒ Object
The Google API HTTP protocol.
-
.google_url ⇒ String
The Google API URL.
-
.google_url=(url) ⇒ Object
The Google API URL.
-
.http_client ⇒ Object
The HTTP client that handles requests to Geonames and Google.
-
.http_client=(client) ⇒ Object
The HTTP client that handles requests to Geonames and Google.
- .lookup ⇒ Object
- .order_list_by ⇒ Object
- .order_list_by=(order) ⇒ Object
-
.protocol ⇒ String
Use Google protocol if key has been set else use Geonames protocol.
- .replace(what, with = Hash.new) ⇒ Object
- .replacements ⇒ Object
-
.url ⇒ String
Use Google URL if key has been set else use Geonames URL.
-
.use_google? ⇒ Boolean
Use Google API if key has been set.
-
.username ⇒ String
The Geonames API username.
-
.username=(username) ⇒ Object
The Geonames API username.
Class Method Details
.begin {|_self| ... } ⇒ Object
179 180 181 |
# File 'lib/timezone/configure.rb', line 179 def self.begin yield self end |
.default_for_list ⇒ Object
192 193 194 |
# File 'lib/timezone/configure.rb', line 192 def self.default_for_list @@default_list ||= nil end |
.default_for_list=(*list) ⇒ Object
196 197 198 |
# File 'lib/timezone/configure.rb', line 196 def self.default_for_list=(*list) @@default_list = list.flatten! end |
.geonames_lookup ⇒ Object
58 59 60 |
# File 'lib/timezone/configure.rb', line 58 def self.geonames_lookup @geonames_lookup ||= Timezone::Lookup::Geonames.new(self) end |
.geonames_protocol ⇒ String
The Geonames API HTTP protocol
118 119 120 |
# File 'lib/timezone/configure.rb', line 118 def self.geonames_protocol @@geonames_protocol ||= 'http' end |
.geonames_protocol=(protocol) ⇒ Object
The Geonames API HTTP protocol
110 111 112 |
# File 'lib/timezone/configure.rb', line 110 def self.geonames_protocol=(protocol) @@geonames_protocol = protocol end |
.geonames_url ⇒ String
The Geonames API URL
66 67 68 |
# File 'lib/timezone/configure.rb', line 66 def self.geonames_url @@geonames_url ||= 'api.geonames.org' end |
.geonames_url=(url) ⇒ Object Also known as: url=
The Geonames API URL
74 75 76 |
# File 'lib/timezone/configure.rb', line 74 def self.geonames_url=(url) @@geonames_url = url end |
.google_api_key ⇒ String
The Google API key
31 32 33 |
# File 'lib/timezone/configure.rb', line 31 def self.google_api_key @google_api_key end |
.google_api_key=(api_key) ⇒ Object
Google API key
39 40 41 |
# File 'lib/timezone/configure.rb', line 39 def self.google_api_key=(api_key) @google_api_key = api_key end |
.google_lookup ⇒ Object
54 55 56 |
# File 'lib/timezone/configure.rb', line 54 def self.google_lookup @google_lookup ||= Timezone::Lookup::Google.new(self) end |
.google_protocol ⇒ String
The Google API HTTP protocol
134 135 136 |
# File 'lib/timezone/configure.rb', line 134 def self.google_protocol @@google_protocol ||= 'https' end |
.google_protocol=(protocol) ⇒ Object
The Google API HTTP protocol
126 127 128 |
# File 'lib/timezone/configure.rb', line 126 def self.google_protocol=(protocol) @@google_protocol = protocol end |
.google_url ⇒ String
The Google API URL
86 87 88 |
# File 'lib/timezone/configure.rb', line 86 def self.google_url @@google_url ||= 'maps.googleapis.com' end |
.google_url=(url) ⇒ Object
The Google API URL
94 95 96 |
# File 'lib/timezone/configure.rb', line 94 def self.google_url=(url) @@google_url = url end |
.http_client ⇒ Object
The HTTP client that handles requests to Geonames and Google
150 151 152 |
# File 'lib/timezone/configure.rb', line 150 def self.http_client @@http_client ||= Timezone::NetHTTPClient end |
.http_client=(client) ⇒ Object
The HTTP client that handles requests to Geonames and Google
159 160 161 |
# File 'lib/timezone/configure.rb', line 159 def self.http_client=(client) @@http_client = client end |
.lookup ⇒ Object
50 51 52 |
# File 'lib/timezone/configure.rb', line 50 def self.lookup use_google? ? google_lookup : geonames_lookup end |
.order_list_by ⇒ Object
200 201 202 |
# File 'lib/timezone/configure.rb', line 200 def self.order_list_by @@order_by ||= :utc_offset end |
.order_list_by=(order) ⇒ Object
204 205 206 |
# File 'lib/timezone/configure.rb', line 204 def self.order_list_by=(order) @@order_by = order end |
.protocol ⇒ String
Use Google protocol if key has been set else use Geonames protocol
142 143 144 |
# File 'lib/timezone/configure.rb', line 142 def self.protocol use_google? ? google_protocol : geonames_protocol end |
.replace(what, with = Hash.new) ⇒ Object
183 184 185 186 |
# File 'lib/timezone/configure.rb', line 183 def self.replace(what, with = Hash.new) replacements # instantiate @@replacements @@replacements[what] = with[:with] end |
.replacements ⇒ Object
188 189 190 |
# File 'lib/timezone/configure.rb', line 188 def self.replacements @@replacements ||= {} end |
.url ⇒ String
Use Google URL if key has been set else use Geonames URL
102 103 104 |
# File 'lib/timezone/configure.rb', line 102 def self.url use_google? ? google_url : geonames_url end |
.use_google? ⇒ Boolean
Use Google API if key has been set
46 47 48 |
# File 'lib/timezone/configure.rb', line 46 def self.use_google? !!google_api_key end |
.username ⇒ String
The Geonames API username
167 168 169 |
# File 'lib/timezone/configure.rb', line 167 def self.username @@username end |
.username=(username) ⇒ Object
The Geonames API username
175 176 177 |
# File 'lib/timezone/configure.rb', line 175 def self.username=(username) @@username = username end |