active_object 5.8.0 → 5.8.1

Sign up to get free protection for your applications and to get access to all the features.
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