tooly 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tooly.rb +96 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5044ca16bbc0206d863bbdbaea359e17774f5a53337b9789b8c9969433f3f4cf
4
- data.tar.gz: 70ff35bbd17ea0c6024a9509e7a85323a57bacde8347f82b3e94ca5d20033a73
3
+ metadata.gz: 1e34c3a3a439710f402eeaa32e06fb25df2dd9aecca9976fc3a27225cb3a4f0d
4
+ data.tar.gz: a78eab7bcd9156ed9225cabda127dc48f63819f69081146f7434ed338e248513
5
5
  SHA512:
6
- metadata.gz: 4e56aeee183cdddc476fb4232021080601a38e0332b74e80b02fd3b721c7abfb9f59059aae39d684d695e89e7be3589dd7c88cc16bbb11ee954778cb866f2e0b
7
- data.tar.gz: 1023fa9f9c6f66c3baf3cf714fd864c56571ee478e5ac0f02f5acaccd13647104adf634c3fc2dda04be77d772f05f6d9e0fe3c019380bb40df5b946a7b509561
6
+ metadata.gz: a23f86804d2a25ce4d1ef2a603fe61810a1c2efc2193b1a1e294fb71882c15af567e55ef029f5f841223423b2b3b2144f0f54fd5c675c4678af532eb6b46f15c
7
+ data.tar.gz: 34daf8d5a9a316d19746aab89dc279aa1c012c2807ae5d4bdf1dcb2a4684bda42b9436a1a70addd3615759700c446c58619e2cac4e6e5d5ee6c66ba5d1fb7488
data/lib/tooly.rb CHANGED
@@ -1,6 +1,100 @@
1
+ require './lib/utils'
2
+
1
3
  class Tooly
2
- def self.concat(initList, arg)
3
- n = [initList, arg]
4
+ # Create a list without `null`, `false`, `0` and `''` from another list.
5
+ def self.compact(list)
6
+ listResult = []
7
+ if list.empty?
8
+ return listResult
9
+ end
10
+ for data in list do
11
+ unless data == nil || data == false || data == '' || data == 0
12
+ listResult << data
13
+ end
14
+ end
15
+ return listResult
16
+ end
17
+
18
+ # Create a list that contain the initial list and additional list
19
+ def self.concat(list, arg)
20
+ n = [list, arg]
4
21
  return n.flatten!
5
22
  end
23
+
24
+ # Create a list no duplicate elements from another list
25
+ def self.uniq(list)
26
+ list |= []
27
+ end
28
+
29
+ # Create a string from a list
30
+ def self.listToString(list)
31
+ strFinal = ''
32
+ for e in list do
33
+ i = list.index(e)
34
+ if i < list.length() - 1
35
+ strFinal = "#{strFinal}#{list[i].to_s}, "
36
+ else
37
+ strFinal = strFinal + list[i].to_s
38
+ end
39
+ end
40
+ return strFinal
41
+ end
42
+
43
+ # Flattens list a single level deep
44
+ def self.flatten(list)
45
+ return list.flatten(1)
46
+ end
47
+
48
+ # Create an list of elements split into groups the length of initial list size.
49
+ def self.chunk(list, size)
50
+ result = []
51
+ aux = []
52
+ list.each_with_index do |item, i|
53
+ if (i + 1) % size == 0
54
+ aux << item
55
+ result << aux
56
+ aux = []
57
+ else
58
+ aux << item
59
+ end
60
+ end
61
+
62
+ unless aux.empty?
63
+ result.concat(aux)
64
+ end
65
+ return result
66
+ end
67
+
68
+ # Create a list of values that not include in the second list.
69
+ def self.difference(fisrList, secondList)
70
+ result = []
71
+ for element in fisrList do
72
+ searchElement = secondList.find {|e| element == e }
73
+
74
+ if searchElement == nil
75
+ result << element
76
+ end
77
+ end
78
+ return result
79
+ end
80
+
81
+ # Create a list with `n` elements dropped from the beginning.
82
+ def self.drop(list, n)
83
+ length = list.length
84
+ if length == 0 || n > length
85
+ return []
86
+ else
87
+ return list.slice(n < 0 ? 0 : n, length)
88
+ end
89
+ end
90
+
91
+ # Fills elements of `list` with `value` from `start` up to, but not including `end`.
92
+ def self.fill(list, value, st, en = nil)
93
+ length = list.length
94
+ if length == 0
95
+ return []
96
+ else
97
+ return Utils.baseFill(list, value, st, en)
98
+ end
99
+ end
6
100
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tooly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyGeek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-22 00:00:00.000000000 Z
11
+ date: 2022-11-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Tooly is a package based in Lodash for Ruby
14
14
  email: