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
- #count(&block) ⇒ 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
- #uniq ⇒ Object
- #unless(boolean) {|_self| ... } ⇒ 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.
12 13 14 15 |
# File 'lib/array_collection/collect.rb', line 12 def initialize(items) parsed_hash = parse(items) @items, @is_json = get_arrayable_items(parsed_hash) end |
Instance Method Details
#all ⇒ Object
17 18 19 |
# File 'lib/array_collection/collect.rb', line 17 def all parse_output(@items) end |
#append(value) ⇒ Object
45 46 47 |
# File 'lib/array_collection/collect.rb', line 45 def append(value) clone(ArrayCollection::CollectionArray.append(@items, value)) end |
#count(&block) ⇒ Object
21 22 23 |
# File 'lib/array_collection/collect.rb', line 21 def count(&block) @items.count(&block) end |
#diff(items) ⇒ Object
53 54 55 |
# File 'lib/array_collection/collect.rb', line 53 def diff(items) clone(ArrayCollection::CollectionArray.diff(@items, items)) end |
#except(*keys) ⇒ Object
77 78 79 |
# File 'lib/array_collection/collect.rb', line 77 def except(*keys) clone(ArrayCollection::CollectionArray.except(@items, *keys.map(&:to_sym))) end |
#filter(&block) ⇒ Object
57 58 59 |
# File 'lib/array_collection/collect.rb', line 57 def filter(&block) clone(ArrayCollection::CollectionArray.filter(@items, &block)) end |
#full_join(items, left_key, right_key) ⇒ Object
109 110 111 |
# File 'lib/array_collection/collect.rb', line 109 def full_join(items, left_key, right_key) clone(ArrayCollection::CollectionArray.full_join(@items, get_arrayable_items(items), left_key, right_key)) end |
#index_of(value) ⇒ Object
25 26 27 |
# File 'lib/array_collection/collect.rb', line 25 def index_of(value) @items.index(value) end |
#inner_join(items, left_key, right_key) ⇒ Object
97 98 99 |
# File 'lib/array_collection/collect.rb', line 97 def inner_join(items, left_key, right_key) clone(ArrayCollection::CollectionArray.inner_join(@items, get_arrayable_items(items), left_key, right_key)) end |
#key_by(key, &block) ⇒ Object
29 30 31 |
# File 'lib/array_collection/collect.rb', line 29 def key_by(key, &block) ArrayCollection::CollectionArray.key_by(@items, key.to_sym, &block) end |
#left_join(items, left_key, right_key) ⇒ Object
101 102 103 |
# File 'lib/array_collection/collect.rb', line 101 def left_join(items, left_key, right_key) clone(ArrayCollection::CollectionArray.left_join(@items, get_arrayable_items(items), left_key, right_key)) end |
#map(&block) ⇒ Object
81 82 83 |
# File 'lib/array_collection/collect.rb', line 81 def map(&block) clone(ArrayCollection::CollectionArray.map(@items, &block)) end |
#only(*keys) ⇒ Object
73 74 75 |
# File 'lib/array_collection/collect.rb', line 73 def only(*keys) clone(ArrayCollection::CollectionArray.only(@items, *keys.map(&:to_sym))) end |
#prepend(value) ⇒ Object
49 50 51 |
# File 'lib/array_collection/collect.rb', line 49 def prepend(value) clone(ArrayCollection::CollectionArray.prepend(@items, value)) end |
#right_join(items, left_key, right_key) ⇒ Object
105 106 107 |
# File 'lib/array_collection/collect.rb', line 105 def right_join(items, left_key, right_key) clone(ArrayCollection::CollectionArray.right_join(@items, get_arrayable_items(items), left_key, right_key)) end |
#sort(&block) ⇒ Object
85 86 87 |
# File 'lib/array_collection/collect.rb', line 85 def sort(&block) clone(@items.sort(&block)) end |
#sort_by_key(key) ⇒ Object
93 94 95 |
# File 'lib/array_collection/collect.rb', line 93 def sort_by_key(key) clone(@items.sort_by { |item| item[key.to_sym] }) end |
#sort_desc(&block) ⇒ Object
89 90 91 |
# File 'lib/array_collection/collect.rb', line 89 def sort_desc(&block) clone(@items.sort(&block).reverse) end |
#uniq ⇒ Object
69 70 71 |
# File 'lib/array_collection/collect.rb', line 69 def uniq clone(@items.uniq) end |
#unless(boolean) {|_self| ... } ⇒ Object
39 40 41 42 43 |
# File 'lib/array_collection/collect.rb', line 39 def unless(boolean) return self if boolean == true yield(self) end |
#when(boolean) {|_self| ... } ⇒ Object
33 34 35 36 37 |
# File 'lib/array_collection/collect.rb', line 33 def when(boolean) return self if boolean == false yield(self) end |
#where(key, *args) ⇒ Object
61 62 63 |
# File 'lib/array_collection/collect.rb', line 61 def where(key, *args) clone(ArrayCollection::CollectionArray.where(@items, key, *args)) end |
#where_not_nil ⇒ Object
65 66 67 |
# File 'lib/array_collection/collect.rb', line 65 def where_not_nil clone(ArrayCollection::CollectionArray.where_not_nil(@items)) end |