Module: Ariadne::FetchOrFallbackHelper
- Includes:
- LoggerHelper
- Included in:
- Component, IconHelper
- Defined in:
- app/lib/ariadne/fetch_or_fallback_helper.rb
Overview
:nodoc:
Constant Summary collapse
- InvalidValueError =
Class.new(StandardError)
- TRUE_OR_FALSE =
[true, false].freeze
Instance Method Summary collapse
-
#check_incoming_attribute(preferred_attribute, given_attribute) ⇒ Object
TODO: test this.
-
#check_incoming_tag(preferred_tag, given_tag) ⇒ Object
TODO: test this.
-
#check_incoming_value(preferred_value, given_pair) ⇒ Object
TODO: test this.
- #fetch_or_raise(allowed_values, given_value) ⇒ Object
- #fetch_or_raise_boolean(given_value) ⇒ Object
Methods included from LoggerHelper
#logger, #silence_deprecations?, #silence_warnings?
Instance Method Details
#check_incoming_attribute(preferred_attribute, given_attribute) ⇒ Object
TODO: test this
63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'app/lib/ariadne/fetch_or_fallback_helper.rb', line 63 def check_incoming_attribute(preferred_attribute, given_attribute) return preferred_attribute if given_attribute.blank? || preferred_attribute != given_attribute unless silence_warnings? = " Ariadne: note that `\#{preferred_attribute}` is the preferred attribute here;\n you passed `\#{given_attribute}` (which will still be used)\n MSG\n\n logger.warn(message)\n end\n\n given_attribute\nend\n" |
#check_incoming_tag(preferred_tag, given_tag) ⇒ Object
TODO: test this
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/lib/ariadne/fetch_or_fallback_helper.rb', line 47 def check_incoming_tag(preferred_tag, given_tag) return preferred_tag if given_tag.blank? || preferred_tag == given_tag unless silence_warnings? = " Ariadne: note that `\#{preferred_tag}` is the preferred tag here;\n you passed `\#{given_tag}` (which will still be used)\n MSG\n\n logger.warn(message)\n end\n\n given_tag\nend\n" |
#check_incoming_value(preferred_value, given_pair) ⇒ Object
TODO: test this
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'app/lib/ariadne/fetch_or_fallback_helper.rb', line 79 def check_incoming_value(preferred_value, given_pair) return preferred_value if given_pair.blank? || !given_pair.is_a?(Hash) given_key = given_pair.keys.first given_value = given_pair.values.first return preferred_value if given_value.blank? unless silence_warnings? = " Ariadne: note that `\#{preferred_value}` is the preferred value for `\#{given_key}` here;\n you passed `\#{given_value}` (which will still be used)\n MSG\n\n logger.warn(message)\n end\n\n given_value\nend\n" |
#fetch_or_raise(allowed_values, given_value) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/lib/ariadne/fetch_or_fallback_helper.rb', line 27 def fetch_or_raise(allowed_values, given_value) raise ArgumentError, "allowed_values must be an array; it was #{allowed_values.class}" unless allowed_values.is_a?(Array) if allowed_values.include?(given_value) given_value else raise InvalidValueError, " fetch_or_raise was called with an invalid value.\n\n Expected one of: \#{allowed_values.inspect}\n Got: \#{given_value.inspect}\n MSG\n end\nend\n" |
#fetch_or_raise_boolean(given_value) ⇒ Object
42 43 44 |
# File 'app/lib/ariadne/fetch_or_fallback_helper.rb', line 42 def fetch_or_raise_boolean(given_value) fetch_or_raise(TRUE_OR_FALSE, given_value) end |