active_object 5.8.0 → 5.8.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
  SHA256:
3
- metadata.gz: 39c6fc484928254173ce44e6b9f7c4a7ff73a0711f9890f9976f394bc8db1e85
4
- data.tar.gz: 2e99c34f428b114a6d776f7426af8399643f0401994b69b4619ca577a601a402
3
+ metadata.gz: f6749777a782c78d352dff3fd8ea2ee047924a64e589c05377ebc9610eee5e34
4
+ data.tar.gz: 3f8059fa849376bcd053182e61238c7d75b074c47822f2844b2ee74aebdcafbf
5
5
  SHA512:
6
- metadata.gz: 2c5e925327ee1aaa043b56dd0c082bbb28bcfe63f8e2dc12ba7c06156744e134723fdb329f1d6e0425ec33688c764f7e3cd8d43aae8bdca25080f307bbe9a629
7
- data.tar.gz: c370ee668f6d8edbe3677648bd182666618289b75a0a78ea587e7d914c3d36fec6dbf214c4ca4a23f6b9844f52ebe3538f9715bb6aef4fec9cb1825cea467ddd
6
+ metadata.gz: f941a7ff54a3b52614b07ff3bb9ba8b7774761c1415ccca33b97b5bb08bc51b36a9c51ce9b0399a818852ea54337a13da8658418d5a5d312c715aac9dde7e850
7
+ data.tar.gz: 1bf88511a3c768cef14edebdc2010d886c90eec0dbf6e45fc441d6f61a9dcf20b5929df8af5a677c64f750edfa712f9df4f4b21e5d64b758fa082825a1f48516
@@ -192,16 +192,13 @@ if ActiveObject.configuration.autoload_enumerable
192
192
  def median(identity = 0)
193
193
  collection_length = length.to_f
194
194
  collection_sorted = sort
195
- return(identity) unless collection_length > 0.0
195
+ return identity unless collection_length > 0.0
196
196
 
197
197
  half_collection = collection_length / 2.0
198
198
  sorted_collection = collection_sorted[half_collection]
199
+ return sorted_collection unless (collection_length % 2).zero?
199
200
 
200
- if (collection_length % 2).zero?
201
- (collection_sorted[half_collection - 1.0] + sorted_collection) / 2.0
202
- else
203
- sorted_collection
204
- end
201
+ (collection_sorted[half_collection - 1.0] + sorted_collection) / 2.0
205
202
  end
206
203
 
207
204
  # rubocop:disable Metrics/AbcSize
@@ -229,24 +226,20 @@ if ActiveObject.configuration.autoload_enumerable
229
226
  each_with_object(::Hash.new(0)) { |key, hsh| hsh[key] += 1 }
230
227
  end
231
228
 
232
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
229
+ # rubocop:disable Metrics/AbcSize
233
230
  def percentile(num, identity = 0)
234
231
  return identity unless length.positive?
235
232
 
236
233
  collection_sorted = sort
237
234
  rank = (num.to_f / 100) * (length + 1)
235
+ return collection_sorted[rank - 1] unless rank.fraction?
238
236
 
239
- if rank.fraction?
240
- truncated_rank = rank.truncate
241
- sample_one = collection_sorted[truncated_rank - 1]
242
- sample_two = collection_sorted[truncated_rank]
243
-
244
- (rank.fraction * (sample_two - sample_one)) + sample_one
245
- else
246
- collection_sorted[rank - 1]
247
- end
237
+ truncated_rank = rank.truncate
238
+ sample_one = collection_sorted[truncated_rank - 1]
239
+ sample_two = collection_sorted[truncated_rank]
240
+ (rank.fraction * (sample_two - sample_one)) + sample_one
248
241
  end
249
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
242
+ # rubocop:enable Metrics/AbcSize
250
243
 
251
244
  def range(identity = 0)
252
245
  return identity unless length.positive?
@@ -305,7 +298,7 @@ if ActiveObject.configuration.autoload_enumerable
305
298
  end
306
299
 
307
300
  def take_last_if
308
- return(to_enum(:take_last_if)) unless block_given?
301
+ return to_enum(:take_last_if) unless block_given?
309
302
 
310
303
  result = []
311
304
  reverse_each { |val| yield(val) ? result.unshift(val) : break }
@@ -215,8 +215,7 @@ module ActiveObject
215
215
  end
216
216
 
217
217
  def slice(*keys)
218
- keys.flatten
219
- .each_with_object({}) { |key, hsh| hsh[key] = self[key] if key?(key) }
218
+ keys.flatten.each_with_object({}) { |key, hsh| hsh[key] = self[key] if key?(key) }
220
219
  end
221
220
 
222
221
  def slice!(*keys)
@@ -32,7 +32,7 @@ module ActiveObject
32
32
  return '' if zero?
33
33
  return "-#{(-self).roman}" if negative?
34
34
 
35
- ROMAN_VALUES.each { |key, val| return("#{key}#{(self - val).roman}") if val <= self }
35
+ ROMAN_VALUES.each { |key, val| return "#{key}#{(self - val).roman}" if val <= self }
36
36
  end
37
37
 
38
38
  def time
@@ -313,7 +313,9 @@ module ActiveObject
313
313
  end
314
314
 
315
315
  def multiple_of?(number)
316
- number.zero? ? zero? : modulo(number).zero?
316
+ return zero? if number.zero?
317
+
318
+ modulo(number).zero?
317
319
  end
318
320
 
319
321
  def nautical_miles_in_inches
@@ -449,9 +451,9 @@ module ActiveObject
449
451
  def to_length(from, to)
450
452
  assert_inclusion_of_valid_keys!(LENGTH_KEYS.values.flatten, from, to)
451
453
 
452
- metric_keys = LENGTH_KEYS.fetch(:metric)
453
454
  return self if from == to
454
455
 
456
+ metric_keys = LENGTH_KEYS.fetch(:metric)
455
457
  metrics_included_from = metric_keys.include?(from)
456
458
 
457
459
  case to
@@ -475,9 +477,9 @@ module ActiveObject
475
477
  def to_mass(from, to)
476
478
  assert_inclusion_of_valid_keys!(MASS_KEYS.values.flatten, from, to)
477
479
 
478
- metric_keys = MASS_KEYS.fetch(:metric)
479
480
  return self if from == to
480
481
 
482
+ metric_keys = MASS_KEYS.fetch(:metric)
481
483
  metrics_included_from = metric_keys.include?(from)
482
484
 
483
485
  case to
@@ -562,7 +564,11 @@ module ActiveObject
562
564
  alpha = to_f
563
565
  beta = number.to_f
564
566
 
565
- alpha.zero? || beta.zero? ? (alpha - beta).abs < epsilon : (alpha / beta - 1).abs < epsilon
567
+ if alpha.zero? || beta.zero?
568
+ (alpha - beta).abs < epsilon
569
+ else
570
+ (alpha / beta - 1).abs < epsilon
571
+ end
566
572
  end
567
573
 
568
574
  def yards_in_inches
@@ -107,9 +107,7 @@ module ActiveObject
107
107
  end
108
108
 
109
109
  def headerize
110
- squish.split(' ')
111
- .map(&:capitalize)
112
- .join(' ')
110
+ squish.split(' ').map(&:capitalize).join(' ')
113
111
  end
114
112
 
115
113
  def headerize!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveObject
4
- VERSION ||= '5.8.0'
4
+ VERSION ||= '5.8.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.8.0
4
+ version: 5.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez