Class: Jekyll::Unirate::Config
- Inherits:
-
Object
- Object
- Jekyll::Unirate::Config
- Defined in:
- lib/jekyll/unirate/config.rb
Overview
Resolves plugin configuration from ‘_config.yml` (the `unirate:` key) layered over environment variables and sensible defaults.
unirate:
base: USD # currency the snapshot is fetched against
default_currency: USD # display currency for one-arg helpers
base_url: https://api.unirateapi.com
timeout: 30
# api_key: prefer the UNIRATE_API_KEY env var over committing a key
The API key resolves from (in order): the UNIRATE_API_KEY env var, then ‘unirate.api_key` in _config.yml. Keeping it in the environment avoids checking a secret into the site repo.
Constant Summary collapse
- DEFAULTS =
{ "base" => "USD", "default_currency" => "USD", "base_url" => Client::DEFAULT_BASE_URL, "timeout" => Client::DEFAULT_TIMEOUT }.freeze
Instance Method Summary collapse
- #api_key ⇒ Object
- #base ⇒ Object
- #base_url ⇒ Object
- #default_currency ⇒ Object
-
#initialize(site_config = {}) ⇒ Config
constructor
A new instance of Config.
- #timeout ⇒ Object
Constructor Details
Instance Method Details
#api_key ⇒ Object
31 32 33 34 35 36 |
# File 'lib/jekyll/unirate/config.rb', line 31 def api_key env = ENV.fetch("UNIRATE_API_KEY", nil) return env unless env.nil? || env.empty? @settings["api_key"] end |
#base ⇒ Object
38 |
# File 'lib/jekyll/unirate/config.rb', line 38 def base = @settings["base"].to_s.upcase |
#base_url ⇒ Object
40 |
# File 'lib/jekyll/unirate/config.rb', line 40 def base_url = @settings["base_url"] |
#default_currency ⇒ Object
39 |
# File 'lib/jekyll/unirate/config.rb', line 39 def default_currency = @settings["default_currency"].to_s.upcase |
#timeout ⇒ Object
41 |
# File 'lib/jekyll/unirate/config.rb', line 41 def timeout = @settings["timeout"] |