Module: ActiveEnumerable::Base

Includes:
Enumerable
Included in:
ActiveEnumerable
Defined in:
lib/active_enumerable/base.rb

Instance Method Summary collapse

Instance Method Details

#<<(item) ⇒ Object Also known as: add



25
26
27
# File 'lib/active_enumerable/base.rb', line 25

def <<(item)
  @collection << item
end

#__new_relation__(collection) ⇒ Object



40
41
42
# File 'lib/active_enumerable/base.rb', line 40

def __new_relation__(collection)
  self.class.new(collection)
end

#active_enumerable_setup(collection = []) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/active_enumerable/base.rb', line 13

def active_enumerable_setup(collection=[])
  if collection.is_a? ::Enumerator::Lazy
    @collection = collection
  else
    @collection = collection.to_a
  end
end

#allObject



31
32
33
# File 'lib/active_enumerable/base.rb', line 31

def all
  self.tap { to_a }
end

#each(*args, &block) ⇒ Object



5
6
7
# File 'lib/active_enumerable/base.rb', line 5

def each(*args, &block)
  @collection.send(:each, *args, &block)
end

#initialize(collection = []) ⇒ Object



9
10
11
# File 'lib/active_enumerable/base.rb', line 9

def initialize(collection=[])
  active_enumerable_setup(collection)
end

#nameObject



35
36
37
# File 'lib/active_enumerable/base.rb', line 35

def name
  self.class.name
end

#to_aObject



21
22
23
# File 'lib/active_enumerable/base.rb', line 21

def to_a
  @collection.to_a
end