Module: Primer::FetchOrFallbackHelper
Overview
:nodoc:
Constant Summary collapse
- InvalidValueError =
Class.new(StandardError)
Instance Method Summary collapse
- #fetch_or_fallback(allowed_values, given_value, fallback = nil) ⇒ Object
- #fetch_or_fallback_boolean(given_value, fallback = false) ⇒ Object
Instance Method Details
#fetch_or_fallback(allowed_values, given_value, fallback = nil) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/lib/primer/fetch_or_fallback_helper.rb', line 23 def fetch_or_fallback(allowed_values, given_value, fallback = nil) if allowed_values.include?(given_value) given_value else if fallback_raises && ENV["RAILS_ENV"] != "production" && ENV["STORYBOOK"] != "true" raise InvalidValueError, " fetch_or_fallback was called with an invalid value.\n\n Expected one of: \#{allowed_values.inspect}\n Got: \#{given_value.inspect}\n\n This will not raise in production, but will instead fallback to: \#{fallback.inspect}\n MSG\n end\n\n fallback\n end\nend\n" |
#fetch_or_fallback_boolean(given_value, fallback = false) ⇒ Object
42 43 44 45 46 47 48 |
# File 'app/lib/primer/fetch_or_fallback_helper.rb', line 42 def fetch_or_fallback_boolean(given_value, fallback = false) if [true, false].include?(given_value) given_value else fallback end end |