Module: LlmGateway::Utils
- Defined in:
- lib/llm_gateway/utils.rb
Class Method Summary collapse
- .blank?(value) ⇒ Boolean
- .deep_symbolize_keys(value) ⇒ Object
- .presence(value) ⇒ Object
- .present?(value) ⇒ Boolean
- .symbolize_key(key) ⇒ Object
- .symbolize_keys(hash) ⇒ Object
Class Method Details
.blank?(value) ⇒ Boolean
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/llm_gateway/utils.rb', line 32 def blank?(value) case value when nil, false true when true, Numeric false when String value.match?(/\A[[:space:]]*\z/) else value.respond_to?(:empty?) ? !!value.empty? : false end end |
.deep_symbolize_keys(value) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/llm_gateway/utils.rb', line 11 def deep_symbolize_keys(value) case value when Hash value.each_with_object({}) do |(key, nested_value), result| result[symbolize_key(key)] = deep_symbolize_keys(nested_value) end when Array value.map { |item| deep_symbolize_keys(item) } else value end end |
.presence(value) ⇒ Object
28 29 30 |
# File 'lib/llm_gateway/utils.rb', line 28 def presence(value) present?(value) ? value : nil end |
.present?(value) ⇒ Boolean
24 25 26 |
# File 'lib/llm_gateway/utils.rb', line 24 def present?(value) !blank?(value) end |
.symbolize_key(key) ⇒ Object
45 46 47 48 49 |
# File 'lib/llm_gateway/utils.rb', line 45 def symbolize_key(key) key.respond_to?(:to_sym) ? key.to_sym : key rescue StandardError key end |
.symbolize_keys(hash) ⇒ Object
7 8 9 |
# File 'lib/llm_gateway/utils.rb', line 7 def symbolize_keys(hash) hash.to_h.transform_keys { |key| key.respond_to?(:to_sym) ? key.to_sym : key } end |