array_arithmetic 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19d3fc33ed00ad3be2395498f6a347d2591311e5
4
- data.tar.gz: 7096f3eeed87c320573d357e502ce4808a7411b9
3
+ metadata.gz: 3bf9d32c8693b5a4fd9d4e938fa75995c06ffa90
4
+ data.tar.gz: 202205d2753d74dbd1df50a01dee2b5641fb52ed
5
5
  SHA512:
6
- metadata.gz: 9c18284274a084b7d2274ffe1fcbcbbd41f885512994e85d7f3b1af35c03c52198434706d40f3503e16dc8fa9b0f55d0245b240af9be861787cbbcd2c011d416
7
- data.tar.gz: 517520ae5139fd5b72f10cf0506bc000c2ecac7feeb36a9098399bef25095f2545b0e480230be829b4268a1b0d6ab70bd99a102b5afb61744d1f30b84abb0496
6
+ metadata.gz: 293ee75d71d16e78050dc753960e44fcd4e8896787b09116ece487bda123dea5799fdb0a6f7aa6da02796a278cd7875dd3e8743bd2d5f23109cf53fc2195e555
7
+ data.tar.gz: 1c4ced69993d9208ca83396be31239abf4aefb788cea5a279bb3f75a0de9ad57f3b8b73fa8aeb0c295b478e1d59a284a2cd53b28f55f831fb8eb4d82dca5f257
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- array_arithmetic (1.0.0)
4
+ array_arithmetic (1.0.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,3 +1,3 @@
1
1
  module ArrayArithmetic
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -3,52 +3,13 @@ require "array_arithmetic/version"
3
3
  module ArrayArithmetic
4
4
  class Error < StandardError; end
5
5
 
6
- #Return an argument as an array for use with arithmetic methods
7
- def make_array(arg)
8
- return [arg]
9
- end
10
-
11
- #Takes in two arrays of unequal length passed to the arithmetic method
12
- #Recycles values from the shorter array
13
- #Returns an array containing two arrays of equal length
14
- def update_array_length(arr_one, arr_two)
15
- if arr_one.length < arr_two.length
16
- adjusted_arr_one = []
17
- arr_two.each_with_index do |value, index|
18
- if arr_one.length == 1
19
- adjusted_arr_one << arr_one[0]
20
- elsif index >= arr_one.length
21
- adjusted_arr_one << arr_one[index - arr_one.length]
22
- else
23
- adjusted_arr_one << arr_one[index]
24
- end
25
- end
26
- return adjusted_arr_one, arr_two
27
- elsif arr_one.length > arr_two.length
28
- adjusted_arr_two = []
29
- arr_one.each_with_index do |value, index|
30
- if arr_two.length == 1
31
- adjusted_arr_two << arr_two[0]
32
- elsif index >= arr_two.length
33
- adjusted_arr_two << arr_two[index - arr_two.length]
34
- else
35
- adjusted_arr_two << arr_two[index]
36
- end
37
- end
38
- return arr_one, adjusted_arr_two
39
- end
40
- end
41
-
42
-
43
6
  #Adds the values of corresponding indices of two arrays
44
7
  def add(arr_one, arr_two)
45
8
  raise ArgumentError, 'First argument is not an array' unless arr_one.is_a? Array
46
9
 
47
10
  result = []
48
11
 
49
- if arr_two.class != Array
50
- arr_two = make_array(arr_two)
51
- end
12
+ arr_two = arr_two.class != Array ? make_array(arr_two) : arr_two
52
13
 
53
14
  if arr_one.length != arr_two.length
54
15
  length_matched_arrays = update_array_length(arr_one, arr_two)
@@ -72,9 +33,7 @@ module ArrayArithmetic
72
33
 
73
34
  result = []
74
35
 
75
- if arr_two.class != Array
76
- arr_two = make_array(arr_two)
77
- end
36
+ arr_two = arr_two.class != Array ? make_array(arr_two) : arr_two
78
37
 
79
38
  if arr_one.length != arr_two.length
80
39
  length_matched_arrays = update_array_length(arr_one, arr_two)
@@ -98,9 +57,7 @@ module ArrayArithmetic
98
57
 
99
58
  result = []
100
59
 
101
- if arr_two.class != Array
102
- arr_two = make_array(arr_two)
103
- end
60
+ arr_two = arr_two.class != Array ? make_array(arr_two) : arr_two
104
61
 
105
62
  if arr_one.length != arr_two.length
106
63
  length_matched_arrays = update_array_length(arr_one, arr_two)
@@ -125,9 +82,7 @@ module ArrayArithmetic
125
82
 
126
83
  result = []
127
84
 
128
- if arr_two.class != Array
129
- arr_two = make_array(arr_two)
130
- end
85
+ arr_two = arr_two.class != Array ? make_array(arr_two) : arr_two
131
86
 
132
87
  if arr_one.length != arr_two.length
133
88
  length_matched_arrays = update_array_length(arr_one, arr_two)
@@ -159,9 +114,7 @@ module ArrayArithmetic
159
114
 
160
115
  result = []
161
116
 
162
- if arr_two.class != Array
163
- arr_two = make_array(arr_two)
164
- end
117
+ arr_two = arr_two.class != Array ? make_array(arr_two) : arr_two
165
118
 
166
119
  if arr_one.length != arr_two.length
167
120
  length_matched_arrays = update_array_length(arr_one, arr_two)
@@ -193,9 +146,7 @@ module ArrayArithmetic
193
146
 
194
147
  result = []
195
148
 
196
- if arr_two.class != Array
197
- arr_two = make_array(arr_two)
198
- end
149
+ arr_two = arr_two.class != Array ? make_array(arr_two) : arr_two
199
150
 
200
151
  if arr_one.length != arr_two.length
201
152
  length_matched_arrays = update_array_length(arr_one, arr_two)
@@ -224,3 +175,42 @@ module ArrayArithmetic
224
175
  return exponent(array, 0.5)
225
176
  end
226
177
  end
178
+
179
+
180
+ private
181
+
182
+ #Return an argument as an array for use with arithmetic methods
183
+ def make_array(arg)
184
+ return [arg]
185
+ end
186
+
187
+ #Takes in two arrays of unequal length passed to the arithmetic method
188
+ #Recycles values from the shorter array
189
+ #Returns an array containing two arrays of equal length
190
+ def update_array_length(arr_one, arr_two)
191
+ if arr_one.length < arr_two.length
192
+ adjusted_arr_one = []
193
+ arr_two.each_with_index do |value, index|
194
+ if arr_one.length == 1
195
+ adjusted_arr_one << arr_one[0]
196
+ elsif index >= arr_one.length
197
+ adjusted_arr_one << arr_one[index - arr_one.length]
198
+ else
199
+ adjusted_arr_one << arr_one[index]
200
+ end
201
+ end
202
+ return adjusted_arr_one, arr_two
203
+ elsif arr_one.length > arr_two.length
204
+ adjusted_arr_two = []
205
+ arr_one.each_with_index do |value, index|
206
+ if arr_two.length == 1
207
+ adjusted_arr_two << arr_two[0]
208
+ elsif index >= arr_two.length
209
+ adjusted_arr_two << arr_two[index - arr_two.length]
210
+ else
211
+ adjusted_arr_two << arr_two[index]
212
+ end
213
+ end
214
+ return arr_one, adjusted_arr_two
215
+ end
216
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: array_arithmetic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - C.J. Adeszko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-30 00:00:00.000000000 Z
11
+ date: 2019-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler