Class: ArrayCollection::Collect

Inherits:
Object
  • Object
show all
Extended by:
Hooks
Defined in:
lib/array_collection/collect.rb

Overview

Set of chainable collections

Instance Method Summary collapse

Methods included from Hooks

before

Constructor Details

#initialize(items) ⇒ Collect

Returns a new instance of Collect.



11
12
13
# File 'lib/array_collection/collect.rb', line 11

def initialize(items)
  @items = get_arrayable_items(items)
end

Instance Method Details

#allObject



15
16
17
# File 'lib/array_collection/collect.rb', line 15

def all
  @items
end

#append(value) ⇒ Object



51
52
53
# File 'lib/array_collection/collect.rb', line 51

def append(value)
  self.class.new(ArrayCollection::CollectionArray.append(@items, value))
end

#diff(items) ⇒ Object



77
78
79
# File 'lib/array_collection/collect.rb', line 77

def diff(items)
  self.class.new(ArrayCollection::CollectionArray.diff(@items, items))
end

#except(*keys) ⇒ Object



73
74
75
# File 'lib/array_collection/collect.rb', line 73

def except(*keys)
  self.class.new(ArrayCollection::CollectionArray.except(@items, *keys))
end

#filter(&block) ⇒ Object



19
20
21
# File 'lib/array_collection/collect.rb', line 19

def filter(&block)
  self.class.new(ArrayCollection::CollectionArray.filter(@items, &block))
end

#full_join(items, left_key, right_key) ⇒ Object



96
97
98
99
# File 'lib/array_collection/collect.rb', line 96

def full_join(items, left_key, right_key)
  self.class.new(ArrayCollection::CollectionArray.full_join(@items, get_arrayable_items(items), left_key,
                                                            right_key))
end

#index_of(value) ⇒ Object



31
32
33
# File 'lib/array_collection/collect.rb', line 31

def index_of(value)
  @items.index(value)
end

#inner_join(items, left_key, right_key) ⇒ Object



81
82
83
84
# File 'lib/array_collection/collect.rb', line 81

def inner_join(items, left_key, right_key)
  self.class.new(ArrayCollection::CollectionArray.inner_join(@items, get_arrayable_items(items), left_key,
                                                             right_key))
end

#key_by(key, &block) ⇒ Object



35
36
37
# File 'lib/array_collection/collect.rb', line 35

def key_by(key, &block)
  ArrayCollection::CollectionArray.key_by(@items, key, &block)
end

#left_join(items, left_key, right_key) ⇒ Object



86
87
88
89
# File 'lib/array_collection/collect.rb', line 86

def left_join(items, left_key, right_key)
  self.class.new(ArrayCollection::CollectionArray.left_join(@items, get_arrayable_items(items), left_key,
                                                            right_key))
end

#map(&block) ⇒ Object



59
60
61
# File 'lib/array_collection/collect.rb', line 59

def map(&block)
  self.class.new(ArrayCollection::CollectionArray.map(@items, &block))
end

#only(*keys) ⇒ Object



69
70
71
# File 'lib/array_collection/collect.rb', line 69

def only(*keys)
  self.class.new(ArrayCollection::CollectionArray.only(@items, *keys))
end

#prepend(value) ⇒ Object



55
56
57
# File 'lib/array_collection/collect.rb', line 55

def prepend(value)
  self.class.new(ArrayCollection::CollectionArray.prepend(@items, value))
end

#right_join(items, left_key, right_key) ⇒ Object



91
92
93
94
# File 'lib/array_collection/collect.rb', line 91

def right_join(items, left_key, right_key)
  self.class.new(ArrayCollection::CollectionArray.right_join(@items, get_arrayable_items(items), left_key,
                                                             right_key))
end

#sort(&block) ⇒ Object



39
40
41
# File 'lib/array_collection/collect.rb', line 39

def sort(&block)
  self.class.new(@items.sort(&block))
end

#sort_by_key(key) ⇒ Object



47
48
49
# File 'lib/array_collection/collect.rb', line 47

def sort_by_key(key)
  self.class.new(@items.sort_by { |item| item[key] })
end

#sort_desc(&block) ⇒ Object



43
44
45
# File 'lib/array_collection/collect.rb', line 43

def sort_desc(&block)
  self.class.new(@items.sort(&block).reverse)
end

#when(boolean) {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



63
64
65
66
67
# File 'lib/array_collection/collect.rb', line 63

def when(boolean)
  return self if boolean == false

  yield(self)
end

#where(key, *args) ⇒ Object



23
24
25
# File 'lib/array_collection/collect.rb', line 23

def where(key, *args)
  self.class.new(ArrayCollection::CollectionArray.where(@items, key, *args))
end

#where_not_nilObject



27
28
29
# File 'lib/array_collection/collect.rb', line 27

def where_not_nil
  self.class.new(ArrayCollection::CollectionArray.where_not_nil(@items))
end