Class: ArrayCollection::Collect
- Inherits:
-
Object
- Object
- ArrayCollection::Collect
- Extended by:
- Hooks
- Defined in:
- lib/array_collection/collect.rb
Overview
Set of chainable collections
Instance Method Summary collapse
- #all ⇒ Object
- #append(value) ⇒ Object
- #diff(items) ⇒ Object
- #except(*keys) ⇒ Object
- #filter(&block) ⇒ Object
- #full_join(items, left_key, right_key) ⇒ Object
- #index_of(value) ⇒ Object
-
#initialize(items) ⇒ Collect
constructor
A new instance of Collect.
- #inner_join(items, left_key, right_key) ⇒ Object
- #key_by(key, &block) ⇒ Object
- #left_join(items, left_key, right_key) ⇒ Object
- #map(&block) ⇒ Object
- #only(*keys) ⇒ Object
- #prepend(value) ⇒ Object
- #right_join(items, left_key, right_key) ⇒ Object
- #sort(&block) ⇒ Object
- #sort_by_key(key) ⇒ Object
- #sort_desc(&block) ⇒ Object
- #when(boolean) {|_self| ... } ⇒ Object
- #where(key, *args) ⇒ Object
- #where_not_nil ⇒ Object
Methods included from Hooks
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
#all ⇒ Object
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
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_nil ⇒ Object
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 |