Module: Julewire::Core::Fields::Lookup

Defined in:
lib/julewire/core/fields/lookup.rb

Class Method Summary collapse

Class Method Details

.blank?(value) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/julewire/core/fields/lookup.rb', line 24

def blank?(value)
  value.nil? || (value.respond_to?(:empty?) && value.empty?)
end

.value(source, key) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/julewire/core/fields/lookup.rb', line 8

def value(source, key)
  return unless source.respond_to?(:[])

  source[key]
rescue StandardError
  nil
end

.wire_value(source, key) ⇒ Object

Decoded wire records have String keys, while in-process records use Symbols. Keep this conversion at presentation boundaries instead of making ordinary core lookups tolerant.



19
20
21
22
# File 'lib/julewire/core/fields/lookup.rb', line 19

def wire_value(source, key)
  result = value(source, key)
  result.nil? ? value(source, key.to_s) : result
end