Module: DeeplyEnumerable::Enumerable

Defined in:
lib/deeply_enumerable/enumerable.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

UNENUMERABLE =

Collection-like objects that should be treated as opaque elements rather than recursed into during deep operations.

["ActiveRecord::Relation", "Range"]
BLANK_RE =

Whitespace-only strings are considered blank, mirroring ActiveSupport. github.com/rails/rails/blob/main/activesupport/lib/active_support/core_ext/object/blank.rb

/\A[[:space:]]*\z/

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



11
12
13
# File 'lib/deeply_enumerable/enumerable.rb', line 11

def self.included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#rebuild(object) ⇒ Object



68
69
70
# File 'lib/deeply_enumerable/enumerable.rb', line 68

def rebuild(object)
  self.class.rebuild(object)
end

#unenumerable_object?(object) ⇒ Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/deeply_enumerable/enumerable.rb', line 72

def unenumerable_object?(object)
  self.class.unenumerable.any? { |unenumerable_klass| object.is_a?(unenumerable_klass) }
end