lite-statistics 1.0.5 → 1.1.0

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: 46df01b2764042cd9ae65a3343230f5b87ed99a9ab64da7e7c84fe4704e8706d
4
- data.tar.gz: 9f660c1fab791cd49ce372cb65ae87783928a8b58f3eb11a6c00fbdeeceac79c
3
+ metadata.gz: d8f8f07632fa69ea54418688b58a258e6300fecd15589d9fd81bb6792ab5174a
4
+ data.tar.gz: 30ef26cef558ef6a9060c302ef27b6b621f71844a4302901df7cc2d9b6308be4
5
5
  SHA512:
6
- metadata.gz: 7cc8421fc4e7ab1a8bd37db4b4aa9a76897ba31fd4fd303dca3487bd865fc80110da8fb2af116ed0a1db5ede2a4cabc1ca21a453776bdf2b79d4da1bdb2f6b5b
7
- data.tar.gz: 0a949e21bab5c755f215554fb590d01a010b97eb39a4736b4521f4f0228eb24c3c3b6cf775883d329f164622c3202f3bceb353cc2e550ee73d4fc9c0d3d51143
6
+ metadata.gz: e1b5b3f5cb9ae4c5b285fe0b3b6762379a0b6d813c51002e88ddece1bd4fbea03f74958271525d9615a93bbefe138b6aa0021ab1a6a776c7952f4cd7acb72b93
7
+ data.tar.gz: 19df215b60614feaa471255c1b48ae6df2471ec02dcdfd5d6417f43cd6f0efe919f20936d999ec5c1201830bfadb314c62bbffa58cc11905a8a716908c26125a
@@ -2,11 +2,14 @@ require:
2
2
  - rubocop-performance
3
3
  - rubocop-rspec
4
4
  AllCops:
5
- TargetRubyVersion: 2.6
5
+ TargetRubyVersion: 2.7
6
+ NewCops: enable
6
7
  DisplayCopNames: true
7
8
  DisplayStyleGuide: true
8
- LineLength:
9
- Max: 100
9
+ Gemspec/RequiredRubyVersion:
10
+ Enabled: false
11
+ Layout/EmptyLinesAroundAttributeAccessor:
12
+ Enabled: true
10
13
  Layout/EmptyLinesAroundBlockBody:
11
14
  Exclude:
12
15
  - 'spec/**/**/*'
@@ -14,6 +17,14 @@ Layout/EmptyLinesAroundClassBody:
14
17
  EnforcedStyle: empty_lines_except_namespace
15
18
  Layout/EmptyLinesAroundModuleBody:
16
19
  EnforcedStyle: empty_lines_except_namespace
20
+ Layout/LineLength:
21
+ Max: 100
22
+ Layout/SpaceAroundMethodCallOperator:
23
+ Enabled: true
24
+ Lint/RaiseException:
25
+ Enabled: true
26
+ Lint/StructNewOverride:
27
+ Enabled: true
17
28
  Metrics/BlockLength:
18
29
  Enabled: false
19
30
  Metrics/ClassLength:
@@ -4,6 +4,7 @@ cache: bundler
4
4
  rvm:
5
5
  - 2.5
6
6
  - 2.6
7
+ - 2.7
7
8
  - ruby-head
8
9
  matrix:
9
10
  fast_finish: true
@@ -6,9 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.0] - 2019-06-06
10
+ ### Changed
11
+ - Removed underscore of quartile numbers
12
+
9
13
  ## [1.0.5] - 2019-08-24
14
+ ### Added
15
+ - Added ruby 2.7 support
10
16
  ### Changed
11
- - Imporved how configuration works
17
+ - Improved how configuration works
12
18
 
13
19
  ## [1.0.4] - 2019-08-17
14
20
  ### Changed
@@ -1,109 +1,116 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-statistics (1.0.5)
4
+ lite-statistics (1.1.0)
5
5
  lite-memoize
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- actionpack (6.0.0)
11
- actionview (= 6.0.0)
12
- activesupport (= 6.0.0)
13
- rack (~> 2.0)
10
+ actionpack (6.0.3.4)
11
+ actionview (= 6.0.3.4)
12
+ activesupport (= 6.0.3.4)
13
+ rack (~> 2.0, >= 2.0.8)
14
14
  rack-test (>= 0.6.3)
15
15
  rails-dom-testing (~> 2.0)
16
16
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
17
- actionview (6.0.0)
18
- activesupport (= 6.0.0)
17
+ actionview (6.0.3.4)
18
+ activesupport (= 6.0.3.4)
19
19
  builder (~> 3.1)
20
20
  erubi (~> 1.4)
21
21
  rails-dom-testing (~> 2.0)
22
22
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
23
- activesupport (6.0.0)
23
+ activesupport (6.0.3.4)
24
24
  concurrent-ruby (~> 1.0, >= 1.0.2)
25
25
  i18n (>= 0.7, < 2)
26
26
  minitest (~> 5.1)
27
27
  tzinfo (~> 1.1)
28
- zeitwerk (~> 2.1, >= 2.1.8)
29
- ast (2.4.0)
30
- builder (3.2.3)
28
+ zeitwerk (~> 2.2, >= 2.2.2)
29
+ ast (2.4.1)
30
+ builder (3.2.4)
31
31
  colorize (0.8.1)
32
- concurrent-ruby (1.1.5)
33
- crass (1.0.4)
34
- diff-lcs (1.3)
35
- erubi (1.8.0)
36
- fasterer (0.6.0)
32
+ concurrent-ruby (1.1.7)
33
+ crass (1.0.6)
34
+ diff-lcs (1.4.4)
35
+ erubi (1.9.0)
36
+ fasterer (0.8.3)
37
37
  colorize (~> 0.7)
38
- ruby_parser (>= 3.13.0)
38
+ ruby_parser (>= 3.14.1)
39
39
  generator_spec (0.9.4)
40
40
  activesupport (>= 3.0.0)
41
41
  railties (>= 3.0.0)
42
- i18n (1.6.0)
42
+ i18n (1.8.5)
43
43
  concurrent-ruby (~> 1.0)
44
- jaro_winkler (1.5.3)
45
44
  lite-memoize (1.0.3)
46
- loofah (2.2.3)
45
+ loofah (2.7.0)
47
46
  crass (~> 1.0.2)
48
47
  nokogiri (>= 1.5.9)
49
- method_source (0.9.2)
48
+ method_source (1.0.0)
50
49
  mini_portile2 (2.4.0)
51
- minitest (5.11.3)
52
- nokogiri (1.10.4)
50
+ minitest (5.14.2)
51
+ nokogiri (1.10.10)
53
52
  mini_portile2 (~> 2.4.0)
54
- parallel (1.17.0)
55
- parser (2.6.3.0)
56
- ast (~> 2.4.0)
57
- rack (2.0.7)
53
+ parallel (1.19.2)
54
+ parser (2.7.2.0)
55
+ ast (~> 2.4.1)
56
+ rack (2.2.3)
58
57
  rack-test (1.1.0)
59
58
  rack (>= 1.0, < 3)
60
59
  rails-dom-testing (2.0.3)
61
60
  activesupport (>= 4.2.0)
62
61
  nokogiri (>= 1.6)
63
- rails-html-sanitizer (1.2.0)
64
- loofah (~> 2.2, >= 2.2.2)
65
- railties (6.0.0)
66
- actionpack (= 6.0.0)
67
- activesupport (= 6.0.0)
62
+ rails-html-sanitizer (1.3.0)
63
+ loofah (~> 2.3)
64
+ railties (6.0.3.4)
65
+ actionpack (= 6.0.3.4)
66
+ activesupport (= 6.0.3.4)
68
67
  method_source
69
68
  rake (>= 0.8.7)
70
69
  thor (>= 0.20.3, < 2.0)
71
70
  rainbow (3.0.0)
72
- rake (12.3.3)
73
- rspec (3.8.0)
74
- rspec-core (~> 3.8.0)
75
- rspec-expectations (~> 3.8.0)
76
- rspec-mocks (~> 3.8.0)
77
- rspec-core (3.8.2)
78
- rspec-support (~> 3.8.0)
79
- rspec-expectations (3.8.4)
71
+ rake (13.0.1)
72
+ regexp_parser (1.8.2)
73
+ rexml (3.2.4)
74
+ rspec (3.10.0)
75
+ rspec-core (~> 3.10.0)
76
+ rspec-expectations (~> 3.10.0)
77
+ rspec-mocks (~> 3.10.0)
78
+ rspec-core (3.10.0)
79
+ rspec-support (~> 3.10.0)
80
+ rspec-expectations (3.10.0)
80
81
  diff-lcs (>= 1.2.0, < 2.0)
81
- rspec-support (~> 3.8.0)
82
- rspec-mocks (3.8.1)
82
+ rspec-support (~> 3.10.0)
83
+ rspec-mocks (3.10.0)
83
84
  diff-lcs (>= 1.2.0, < 2.0)
84
- rspec-support (~> 3.8.0)
85
- rspec-support (3.8.2)
86
- rubocop (0.74.0)
87
- jaro_winkler (~> 1.5.1)
85
+ rspec-support (~> 3.10.0)
86
+ rspec-support (3.10.0)
87
+ rubocop (1.2.0)
88
88
  parallel (~> 1.10)
89
- parser (>= 2.6)
89
+ parser (>= 2.7.1.5)
90
90
  rainbow (>= 2.2.2, < 4.0)
91
+ regexp_parser (>= 1.8)
92
+ rexml
93
+ rubocop-ast (>= 1.0.1)
91
94
  ruby-progressbar (~> 1.7)
92
- unicode-display_width (>= 1.4.0, < 1.7)
93
- rubocop-performance (1.4.1)
94
- rubocop (>= 0.71.0)
95
- rubocop-rspec (1.35.0)
96
- rubocop (>= 0.60.0)
95
+ unicode-display_width (>= 1.4.0, < 2.0)
96
+ rubocop-ast (1.1.1)
97
+ parser (>= 2.7.1.5)
98
+ rubocop-performance (1.8.1)
99
+ rubocop (>= 0.87.0)
100
+ rubocop-ast (>= 0.4.0)
101
+ rubocop-rspec (2.0.0)
102
+ rubocop (~> 1.0)
103
+ rubocop-ast (>= 1.1.0)
97
104
  ruby-progressbar (1.10.1)
98
- ruby_parser (3.13.1)
105
+ ruby_parser (3.15.0)
99
106
  sexp_processor (~> 4.9)
100
- sexp_processor (4.12.1)
101
- thor (0.20.3)
107
+ sexp_processor (4.15.1)
108
+ thor (1.0.1)
102
109
  thread_safe (0.3.6)
103
- tzinfo (1.2.5)
110
+ tzinfo (1.2.7)
104
111
  thread_safe (~> 0.1)
105
- unicode-display_width (1.6.0)
106
- zeitwerk (2.1.9)
112
+ unicode-display_width (1.7.0)
113
+ zeitwerk (2.4.1)
107
114
 
108
115
  PLATFORMS
109
116
  ruby
@@ -120,4 +127,4 @@ DEPENDENCIES
120
127
  rubocop-rspec
121
128
 
122
129
  BUNDLED WITH
123
- 2.0.1
130
+ 2.1.4
@@ -13,9 +13,9 @@ def ls_baseline_summary(data)
13
13
  median: data.median,
14
14
  min: data.min,
15
15
  mode: data.mode,
16
- quartile_1: data.value_from_percentile(25),
17
- quartile_2: data.value_from_percentile(50),
18
- quartile_3: data.value_from_percentile(75),
16
+ quartile1: data.value_from_percentile(25),
17
+ quartile2: data.value_from_percentile(50),
18
+ quartile3: data.value_from_percentile(75),
19
19
  range: data.range,
20
20
  size: data.size,
21
21
  sum: data.sum,
@@ -17,9 +17,9 @@ def baseline_summary(data)
17
17
  median: data.median,
18
18
  min: data.min,
19
19
  mode: data.mode,
20
- quartile_1: data.value_from_percentile(25),
21
- quartile_2: data.value_from_percentile(50),
22
- quartile_3: data.value_from_percentile(75),
20
+ quartile1: data.value_from_percentile(25),
21
+ quartile2: data.value_from_percentile(50),
22
+ quartile3: data.value_from_percentile(75),
23
23
  range: data.range,
24
24
  size: data.size,
25
25
  sum: data.sum,
@@ -17,9 +17,9 @@ def baseline_summary(data)
17
17
  median: data.get_median,
18
18
  min: data.min,
19
19
  mode: data.get_mode,
20
- quartile_1: data.get_percentile(25),
21
- quartile_2: data.get_percentile(50),
22
- quartile_3: data.get_percentile(75),
20
+ quartile1: data.get_percentile(25),
21
+ quartile2: data.get_percentile(50),
22
+ quartile3: data.get_percentile(75),
23
23
  range: data.get_range,
24
24
  size: data.size,
25
25
  sum: data.get_sum,
@@ -50,7 +50,7 @@ def full_summary(data)
50
50
  geometric_mean: data.get_geo_mean,
51
51
  harmonic_mean: data.get_harm_mean,
52
52
  product: data.get_product,
53
- interquartile_range: data.get_interquartile_range,
53
+ interquartilerange: data.get_interquartilerange,
54
54
  relative_variance: data.get_relative_variance,
55
55
  coeff_variation: data.get_coeff_variation
56
56
  )
@@ -7,9 +7,9 @@ collection = [1, 1, 2, 3, 10]
7
7
  results = {
8
8
  # - all documented calculations - ...
9
9
  # - including value_from_percentile of 25, 50, and 75 (quartile) -
10
- quartile_1: 2,
11
- quartile_2: 3,
12
- quartile_3: 10
10
+ quartile1: 2,
11
+ quartile2: 3,
12
+ quartile3: 10
13
13
  }
14
14
 
15
15
  klass = Lite::Statistics::Descriptive.new(collection)
@@ -38,7 +38,7 @@ module Lite
38
38
 
39
39
  memoize :frequencies
40
40
 
41
- # rubocop:disable Style/UnneededSort
41
+ # rubocop:disable Style/RedundantSort
42
42
  def max
43
43
  return if @collection.empty?
44
44
 
@@ -46,7 +46,7 @@ module Lite
46
46
  end
47
47
 
48
48
  memoize :max
49
- # rubocop:enable Style/UnneededSort
49
+ # rubocop:enable Style/RedundantSort
50
50
 
51
51
  def mean
52
52
  return if @collection.empty?
@@ -68,7 +68,7 @@ module Lite
68
68
  memoize :median
69
69
  # rubocop:enable Metrics/AbcSize
70
70
 
71
- # rubocop:disable Style/UnneededSort
71
+ # rubocop:disable Style/RedundantSort
72
72
  def min
73
73
  return if @collection.empty?
74
74
 
@@ -76,7 +76,7 @@ module Lite
76
76
  end
77
77
 
78
78
  memoize :min
79
- # rubocop:enable Style/UnneededSort
79
+ # rubocop:enable Style/RedundantSort
80
80
 
81
81
  def mode
82
82
  return if @collection.empty?
@@ -192,7 +192,7 @@ module Lite
192
192
  def proportions
193
193
  return if @collection.empty?
194
194
 
195
- frequencies.each_with_object({}) { |(key, val), hash| hash[key] = val / size.to_f }
195
+ frequencies.transform_values { |val| val / size.to_f }
196
196
  end
197
197
 
198
198
  memoize :proportions
@@ -326,9 +326,9 @@ module Lite
326
326
  min: min,
327
327
  mode: mode,
328
328
  proportions: proportions,
329
- quartile_1: value_from_percentile(25),
330
- quartile_2: value_from_percentile(50),
331
- quartile_3: value_from_percentile(75),
329
+ quartile1: value_from_percentile(25),
330
+ quartile2: value_from_percentile(50),
331
+ quartile3: value_from_percentile(75),
332
332
  range: range,
333
333
  size: size,
334
334
  sum: sum
@@ -3,8 +3,10 @@
3
3
  if Lite::Statistics.configuration.monkey_patches
4
4
  module Enumerable
5
5
 
6
+ EXCLUDED_DESCRIPTIVE_CALCULATIONS ||= %i[max min sum].freeze
7
+
6
8
  Lite::Statistics::Descriptive::CALCULATIONS.each do |name|
7
- next if %i[max min sum].include?(name)
9
+ next if EXCLUDED_DESCRIPTIVE_CALCULATIONS.include?(name)
8
10
 
9
11
  define_method(name) { |*args| Lite::Statistics::Descriptive.send(name, self, *args) }
10
12
  end
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Statistics
5
5
 
6
- VERSION ||= '1.0.5'
6
+ VERSION ||= '1.1.0'
7
7
 
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lite-statistics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-24 00:00:00.000000000 Z
11
+ date: 2020-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lite-memoize
@@ -136,7 +136,7 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
- description:
139
+ description:
140
140
  email:
141
141
  - j.gomez@drexed.com
142
142
  executables: []
@@ -196,7 +196,7 @@ homepage: http://drexed.github.io/lite-statistics
196
196
  licenses:
197
197
  - MIT
198
198
  metadata: {}
199
- post_install_message:
199
+ post_install_message:
200
200
  rdoc_options: []
201
201
  require_paths:
202
202
  - lib
@@ -211,8 +211,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
211
  - !ruby/object:Gem::Version
212
212
  version: '0'
213
213
  requirements: []
214
- rubygems_version: 3.0.4
215
- signing_key:
214
+ rubygems_version: 3.1.4
215
+ signing_key:
216
216
  specification_version: 4
217
217
  summary: Generate statistics from collections of data points
218
218
  test_files: []