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_client_id  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    The Google Client ID (for enterprise). 
- 
  
    
      .google_client_id=(client)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Google Client ID (for enterprise). 
- .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. 
- 
  
    
      .use_google_enterprise?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Sign Google API request if client given (for enterprise). 
- 
  
    
      .username  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    The Geonames API username. 
- 
  
    
      .username=(username)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    The Geonames API username. 
Class Method Details
.begin {|_self| ... } ⇒ Object
| 202 203 204 | # File 'lib/timezone/configure.rb', line 202 def self.begin yield self end | 
.default_for_list ⇒ Object
| 215 216 217 | # File 'lib/timezone/configure.rb', line 215 def self.default_for_list @@default_list ||= nil end | 
.default_for_list=(*list) ⇒ Object
| 219 220 221 | # File 'lib/timezone/configure.rb', line 219 def self.default_for_list=(*list) @@default_list = list.flatten! end | 
.geonames_lookup ⇒ Object
| 81 82 83 | # File 'lib/timezone/configure.rb', line 81 def self.geonames_lookup @geonames_lookup ||= Timezone::Lookup::Geonames.new(self) end | 
.geonames_protocol ⇒ String
The Geonames API HTTP protocol
| 141 142 143 | # File 'lib/timezone/configure.rb', line 141 def self.geonames_protocol @@geonames_protocol ||= 'http' end | 
.geonames_protocol=(protocol) ⇒ Object
The Geonames API HTTP protocol
| 133 134 135 | # File 'lib/timezone/configure.rb', line 133 def self.geonames_protocol=(protocol) @@geonames_protocol = protocol end | 
.geonames_url ⇒ String
The Geonames API URL
| 89 90 91 | # File 'lib/timezone/configure.rb', line 89 def self.geonames_url @@geonames_url ||= 'api.geonames.org' end | 
.geonames_url=(url) ⇒ Object Also known as: url=
The Geonames API URL
| 97 98 99 | # File 'lib/timezone/configure.rb', line 97 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 ||= nil 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_client_id ⇒ String
The Google Client ID (for enterprise)
| 47 48 49 | # File 'lib/timezone/configure.rb', line 47 def self.google_client_id @google_client_id ||= nil end | 
.google_client_id=(client) ⇒ Object
Google Client ID (for enterprise)
| 55 56 57 | # File 'lib/timezone/configure.rb', line 55 def self.google_client_id=(client) @google_client_id = client end | 
.google_lookup ⇒ Object
| 77 78 79 | # File 'lib/timezone/configure.rb', line 77 def self.google_lookup @google_lookup ||= Timezone::Lookup::Google.new(self) end | 
.google_protocol ⇒ String
The Google API HTTP protocol
| 157 158 159 | # File 'lib/timezone/configure.rb', line 157 def self.google_protocol @@google_protocol ||= 'https' end | 
.google_protocol=(protocol) ⇒ Object
The Google API HTTP protocol
| 149 150 151 | # File 'lib/timezone/configure.rb', line 149 def self.google_protocol=(protocol) @@google_protocol = protocol end | 
.google_url ⇒ String
The Google API URL
| 109 110 111 | # File 'lib/timezone/configure.rb', line 109 def self.google_url @@google_url ||= 'maps.googleapis.com' end | 
.google_url=(url) ⇒ Object
The Google API URL
| 117 118 119 | # File 'lib/timezone/configure.rb', line 117 def self.google_url=(url) @@google_url = url end | 
.http_client ⇒ Object
The HTTP client that handles requests to Geonames and Google
| 173 174 175 | # File 'lib/timezone/configure.rb', line 173 def self.http_client @@http_client ||= Timezone::NetHTTPClient end | 
.http_client=(client) ⇒ Object
The HTTP client that handles requests to Geonames and Google
| 182 183 184 | # File 'lib/timezone/configure.rb', line 182 def self.http_client=(client) @@http_client = client end | 
.lookup ⇒ Object
| 73 74 75 | # File 'lib/timezone/configure.rb', line 73 def self.lookup use_google? ? google_lookup : geonames_lookup end | 
.order_list_by ⇒ Object
| 223 224 225 | # File 'lib/timezone/configure.rb', line 223 def self.order_list_by @@order_by ||= :utc_offset end | 
.order_list_by=(order) ⇒ Object
| 227 228 229 | # File 'lib/timezone/configure.rb', line 227 def self.order_list_by=(order) @@order_by = order end | 
.protocol ⇒ String
Use Google protocol if key has been set else use Geonames protocol
| 165 166 167 | # File 'lib/timezone/configure.rb', line 165 def self.protocol use_google? ? google_protocol : geonames_protocol end | 
.replace(what, with = Hash.new) ⇒ Object
| 206 207 208 209 | # File 'lib/timezone/configure.rb', line 206 def self.replace(what, with = Hash.new) replacements # instantiate @@replacements @@replacements[what] = with[:with] end | 
.replacements ⇒ Object
| 211 212 213 | # File 'lib/timezone/configure.rb', line 211 def self.replacements @@replacements ||= {} end | 
.url ⇒ String
Use Google URL if key has been set else use Geonames URL
| 125 126 127 | # File 'lib/timezone/configure.rb', line 125 def self.url use_google? ? google_url : geonames_url end | 
.use_google? ⇒ Boolean
Use Google API if key has been set
| 62 63 64 | # File 'lib/timezone/configure.rb', line 62 def self.use_google? !!google_api_key end | 
.use_google_enterprise? ⇒ Boolean
Sign Google API request if client given (for enterprise)
| 69 70 71 | # File 'lib/timezone/configure.rb', line 69 def self.use_google_enterprise? use_google? && !!google_client_id end | 
.username ⇒ String
The Geonames API username
| 190 191 192 | # File 'lib/timezone/configure.rb', line 190 def self.username @@username ||= nil end | 
.username=(username) ⇒ Object
The Geonames API username
| 198 199 200 | # File 'lib/timezone/configure.rb', line 198 def self.username=(username) @@username = username end |