Module: ObjectIdentifier::ArrayWrap

Defined in:
lib/object_identifier/array_wrap.rb

Overview

ObjectIdentifier::ArrayWrap mirrors the implementation of Rails’ Array.wrap method. This allows us to get around objects that respond to ‘to_a` (such as Struct) and, instead, either utilize `to_ary` or just actually wrap the object in an Array ourselves.

Class Method Summary collapse

Class Method Details

.call(object) ⇒ Object

Dispatch “Array Wrapping” logic on the given ‘object`.

Parameters:

  • object

    The object(s) to attempt to Array wrap.



14
15
16
17
18
19
20
21
22
# File 'lib/object_identifier/array_wrap.rb', line 14

def self.call(object)
  if object.nil?
    []
  elsif object.respond_to?(:to_ary)
    object.to_ary || [object]
  else
    [object]
  end
end