lite-statistics 1.1.0 → 2.0.0

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: d8f8f07632fa69ea54418688b58a258e6300fecd15589d9fd81bb6792ab5174a
4
- data.tar.gz: 30ef26cef558ef6a9060c302ef27b6b621f71844a4302901df7cc2d9b6308be4
3
+ metadata.gz: a5c18db2a915e224bdbb1a5c050981081c13f34a3d52d657ca9a4722ecabcdb0
4
+ data.tar.gz: a2dfefd9a035cae2c2a8edc94b780a223ef82d0e0bcba30749cb98bd5d2dc894
5
5
  SHA512:
6
- metadata.gz: e1b5b3f5cb9ae4c5b285fe0b3b6762379a0b6d813c51002e88ddece1bd4fbea03f74958271525d9615a93bbefe138b6aa0021ab1a6a776c7952f4cd7acb72b93
7
- data.tar.gz: 19df215b60614feaa471255c1b48ae6df2471ec02dcdfd5d6417f43cd6f0efe919f20936d999ec5c1201830bfadb314c62bbffa58cc11905a8a716908c26125a
6
+ metadata.gz: 4985ecca273499b14fa2e017ca818c2fc9c0462f182f22cad0f5dd09080ff836eaf4b9a27b29defe2eacefaca20618e6684570c674d012edc995d93958277810
7
+ data.tar.gz: 8b2fa9ce8091ffe8947340878875079ec151b23ec530d8fd49c08d7c32cf0353ade26eefc36ca9efd812bd6cb382e4676048875c8980db8f3899fd2f9b15374f
data/.rubocop.yml CHANGED
@@ -1,8 +1,9 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
3
4
  - rubocop-rspec
4
5
  AllCops:
5
- TargetRubyVersion: 2.7
6
+ TargetRubyVersion: 3.0
6
7
  NewCops: enable
7
8
  DisplayCopNames: true
8
9
  DisplayStyleGuide: true
@@ -31,6 +32,8 @@ Metrics/ClassLength:
31
32
  Enabled: false
32
33
  Naming/FileName:
33
34
  Enabled: false
35
+ Style/ArgumentsForwarding:
36
+ Enabled: false
34
37
  Style/Documentation:
35
38
  Enabled: false
36
39
  Style/ExpandPathArguments:
data/CHANGELOG.md CHANGED
@@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.0.0] - 2021-07-22
10
+ ### Changed
11
+ - Update install generator to reflect configuration changes
12
+ ### Removed
13
+ - Removed configuration to use explicit inclusions
14
+
15
+ ## [1.2.1] - 2021-07-21
16
+ ### Changed
17
+ - Improved Railtie support
18
+
19
+ ## [1.2.0] - 2021-07-19
20
+ ### Added
21
+ - Added Ruby 3.0 support
22
+
23
+ ## [1.1.1] - 2019-07-05
24
+ ### Changed
25
+ - Linter fixes
26
+
9
27
  ## [1.1.0] - 2019-06-06
10
28
  ### Changed
11
29
  - Removed underscore of quartile numbers
data/Gemfile.lock CHANGED
@@ -1,58 +1,60 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-statistics (1.1.0)
4
+ lite-statistics (2.0.0)
5
5
  lite-memoize
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
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)
10
+ actionpack (6.1.4)
11
+ actionview (= 6.1.4)
12
+ activesupport (= 6.1.4)
13
+ rack (~> 2.0, >= 2.0.9)
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.3.4)
18
- activesupport (= 6.0.3.4)
17
+ actionview (6.1.4)
18
+ activesupport (= 6.1.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.3.4)
23
+ activesupport (6.1.4)
24
24
  concurrent-ruby (~> 1.0, >= 1.0.2)
25
- i18n (>= 0.7, < 2)
26
- minitest (~> 5.1)
27
- tzinfo (~> 1.1)
28
- zeitwerk (~> 2.2, >= 2.2.2)
29
- ast (2.4.1)
25
+ i18n (>= 1.6, < 2)
26
+ minitest (>= 5.1)
27
+ tzinfo (~> 2.0)
28
+ zeitwerk (~> 2.3)
29
+ ast (2.4.2)
30
30
  builder (3.2.4)
31
31
  colorize (0.8.1)
32
- concurrent-ruby (1.1.7)
32
+ concurrent-ruby (1.1.9)
33
33
  crass (1.0.6)
34
34
  diff-lcs (1.4.4)
35
- erubi (1.9.0)
36
- fasterer (0.8.3)
35
+ erubi (1.10.0)
36
+ fasterer (0.9.0)
37
37
  colorize (~> 0.7)
38
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.8.5)
42
+ i18n (1.8.10)
43
43
  concurrent-ruby (~> 1.0)
44
- lite-memoize (1.0.3)
45
- loofah (2.7.0)
44
+ lite-memoize (1.1.1)
45
+ loofah (2.10.0)
46
46
  crass (~> 1.0.2)
47
47
  nokogiri (>= 1.5.9)
48
48
  method_source (1.0.0)
49
- mini_portile2 (2.4.0)
50
- minitest (5.14.2)
51
- nokogiri (1.10.10)
52
- mini_portile2 (~> 2.4.0)
53
- parallel (1.19.2)
54
- parser (2.7.2.0)
49
+ mini_portile2 (2.5.3)
50
+ minitest (5.14.4)
51
+ nokogiri (1.11.7)
52
+ mini_portile2 (~> 2.5.0)
53
+ racc (~> 1.4)
54
+ parallel (1.20.1)
55
+ parser (3.0.2.0)
55
56
  ast (~> 2.4.1)
57
+ racc (1.5.2)
56
58
  rack (2.2.3)
57
59
  rack-test (1.1.0)
58
60
  rack (>= 1.0, < 3)
@@ -61,56 +63,57 @@ GEM
61
63
  nokogiri (>= 1.6)
62
64
  rails-html-sanitizer (1.3.0)
63
65
  loofah (~> 2.3)
64
- railties (6.0.3.4)
65
- actionpack (= 6.0.3.4)
66
- activesupport (= 6.0.3.4)
66
+ railties (6.1.4)
67
+ actionpack (= 6.1.4)
68
+ activesupport (= 6.1.4)
67
69
  method_source
68
- rake (>= 0.8.7)
69
- thor (>= 0.20.3, < 2.0)
70
+ rake (>= 0.13)
71
+ thor (~> 1.0)
70
72
  rainbow (3.0.0)
71
- rake (13.0.1)
72
- regexp_parser (1.8.2)
73
- rexml (3.2.4)
73
+ rake (13.0.6)
74
+ regexp_parser (2.1.1)
75
+ rexml (3.2.5)
74
76
  rspec (3.10.0)
75
77
  rspec-core (~> 3.10.0)
76
78
  rspec-expectations (~> 3.10.0)
77
79
  rspec-mocks (~> 3.10.0)
78
- rspec-core (3.10.0)
80
+ rspec-core (3.10.1)
79
81
  rspec-support (~> 3.10.0)
80
- rspec-expectations (3.10.0)
82
+ rspec-expectations (3.10.1)
81
83
  diff-lcs (>= 1.2.0, < 2.0)
82
84
  rspec-support (~> 3.10.0)
83
- rspec-mocks (3.10.0)
85
+ rspec-mocks (3.10.2)
84
86
  diff-lcs (>= 1.2.0, < 2.0)
85
87
  rspec-support (~> 3.10.0)
86
- rspec-support (3.10.0)
87
- rubocop (1.2.0)
88
+ rspec-support (3.10.2)
89
+ rubocop (1.18.3)
88
90
  parallel (~> 1.10)
89
- parser (>= 2.7.1.5)
91
+ parser (>= 3.0.0.0)
90
92
  rainbow (>= 2.2.2, < 4.0)
91
- regexp_parser (>= 1.8)
93
+ regexp_parser (>= 1.8, < 3.0)
92
94
  rexml
93
- rubocop-ast (>= 1.0.1)
95
+ rubocop-ast (>= 1.7.0, < 2.0)
94
96
  ruby-progressbar (~> 1.7)
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)
97
+ unicode-display_width (>= 1.4.0, < 3.0)
98
+ rubocop-ast (1.8.0)
99
+ parser (>= 3.0.1.1)
100
+ rubocop-performance (1.11.4)
101
+ rubocop (>= 1.7.0, < 2.0)
100
102
  rubocop-ast (>= 0.4.0)
101
- rubocop-rspec (2.0.0)
103
+ rubocop-rake (0.6.0)
104
+ rubocop (~> 1.0)
105
+ rubocop-rspec (2.4.0)
102
106
  rubocop (~> 1.0)
103
107
  rubocop-ast (>= 1.1.0)
104
- ruby-progressbar (1.10.1)
105
- ruby_parser (3.15.0)
106
- sexp_processor (~> 4.9)
107
- sexp_processor (4.15.1)
108
- thor (1.0.1)
109
- thread_safe (0.3.6)
110
- tzinfo (1.2.7)
111
- thread_safe (~> 0.1)
112
- unicode-display_width (1.7.0)
113
- zeitwerk (2.4.1)
108
+ ruby-progressbar (1.11.0)
109
+ ruby_parser (3.16.0)
110
+ sexp_processor (~> 4.15, >= 4.15.1)
111
+ sexp_processor (4.15.3)
112
+ thor (1.1.0)
113
+ tzinfo (2.0.4)
114
+ concurrent-ruby (~> 1.0)
115
+ unicode-display_width (2.0.0)
116
+ zeitwerk (2.4.2)
114
117
 
115
118
  PLATFORMS
116
119
  ruby
@@ -124,7 +127,8 @@ DEPENDENCIES
124
127
  rspec
125
128
  rubocop
126
129
  rubocop-performance
130
+ rubocop-rake
127
131
  rubocop-rspec
128
132
 
129
133
  BUNDLED WITH
130
- 2.1.4
134
+ 2.2.24
data/README.md CHANGED
@@ -30,13 +30,19 @@ Or install it yourself as:
30
30
 
31
31
  ## Configurations
32
32
 
33
+ Any and all monkey patches must be explicitly included anywhere you want to use it.
34
+
35
+ To globally use the monkey patches, just create an initializer requiring them.
36
+
33
37
  `rails g lite:statistics:install` will generate the following file:
34
38
  `../config/initalizers/lite_statistics.rb`
35
39
 
40
+ They can be disabled by commenting any of them out.
41
+
36
42
  ```ruby
37
- Lite::Statistics.configure do |config|
38
- config.monkey_patches = true
39
- end
43
+ # frozen_string_literal: true
44
+
45
+ require 'lite/statistics/monkey_patches'
40
46
  ```
41
47
 
42
48
  ## Descriptive
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails/generators'
4
-
5
3
  module Lite
6
4
  module Statistics
7
5
  class InstallGenerator < Rails::Generators::Base
@@ -1,5 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Lite::Statistics.configure do |config|
4
- config.monkey_patches = true
5
- end
3
+ require 'lite/statistics/monkey_patches'
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lite/memoize'
3
+ require 'generators/lite/statistics/install_generator' if defined?(Rails::Generators)
4
4
 
5
- %w[version configuration descriptive enumerable].each do |filename|
6
- require "lite/statistics/#{filename}"
7
- end
5
+ require 'lite/memoize' unless defined?(Lite::Memoize)
8
6
 
9
- require 'generators/lite/statistics/install_generator'
7
+ require 'lite/statistics/version'
8
+ require 'lite/statistics/descriptive'
@@ -6,13 +6,37 @@ module Lite
6
6
 
7
7
  extend Lite::Memoize::Alias
8
8
 
9
- CALCULATIONS ||= %i[
10
- frequencies max mean median midrange min mode proportions percentile_from_value
11
- population_coefficient_of_variation population_kurtosis population_size population_skewness
12
- population_standard_deviation population_standard_error population_summary
13
- population_variance population_zscores range sample_coefficient_of_variation sample_kurtosis
14
- sample_size sample_skewness sample_standard_deviation sample_standard_error sample_summary
15
- sample_variance sample_zscores sum value_from_percentile
9
+ CALCULATIONS = %i[
10
+ frequencies
11
+ max
12
+ mean
13
+ median
14
+ midrange
15
+ min
16
+ mode
17
+ proportions
18
+ percentile_from_value
19
+ population_coefficient_of_variation
20
+ population_kurtosis
21
+ population_size
22
+ population_skewness
23
+ population_standard_deviation
24
+ population_standard_error
25
+ population_summary
26
+ population_variance
27
+ population_zscores
28
+ range
29
+ sample_coefficient_of_variation
30
+ sample_kurtosis
31
+ sample_size
32
+ sample_skewness
33
+ sample_standard_deviation
34
+ sample_standard_error
35
+ sample_summary
36
+ sample_variance
37
+ sample_zscores
38
+ sum
39
+ value_from_percentile
16
40
  ].freeze
17
41
 
18
42
  def initialize(collection)
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Enumerable
4
+
5
+ EXCLUDED_DESCRIPTIVE_CALCULATIONS = %i[max min sum].freeze
6
+
7
+ Lite::Statistics::Descriptive::CALCULATIONS.each do |name|
8
+ next if EXCLUDED_DESCRIPTIVE_CALCULATIONS.include?(name)
9
+
10
+ define_method(name) { |*args| Lite::Statistics::Descriptive.send(name, self, *args) }
11
+ end
12
+
13
+ alias average mean
14
+ alias coefficient_of_variation sample_coefficient_of_variation
15
+ alias kurtosis sample_kurtosis
16
+ alias midextreme midrange
17
+ alias percentile percentile_from_value
18
+ alias percentile_rank value_from_percentile
19
+ alias skewness sample_skewness
20
+ alias standard_deviation sample_standard_deviation
21
+ alias standard_error sample_standard_error
22
+ alias summary sample_summary
23
+ alias variance sample_variance
24
+ alias zscores sample_zscores
25
+
26
+ end
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Statistics
5
5
 
6
- VERSION ||= '1.1.0'
6
+ VERSION = '2.0.0'
7
7
 
8
8
  end
9
9
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  )
26
26
  else
27
27
  raise 'RubyGems 2.0 or newer is required to protect against ' \
28
- 'public gem pushes.'
28
+ 'public gem pushes.'
29
29
  end
30
30
 
31
31
  # Specify which files should be added to the gem when it is released.
@@ -46,5 +46,6 @@ Gem::Specification.new do |spec|
46
46
  spec.add_development_dependency 'rspec'
47
47
  spec.add_development_dependency 'rubocop'
48
48
  spec.add_development_dependency 'rubocop-performance'
49
+ spec.add_development_dependency 'rubocop-rake'
49
50
  spec.add_development_dependency 'rubocop-rspec'
50
51
  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.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-07 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lite-memoize
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-rake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rubocop-rspec
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -187,9 +201,8 @@ files:
187
201
  - lib/generators/lite/statistics/install_generator.rb
188
202
  - lib/generators/lite/statistics/templates/install.rb
189
203
  - lib/lite/statistics.rb
190
- - lib/lite/statistics/configuration.rb
191
204
  - lib/lite/statistics/descriptive.rb
192
- - lib/lite/statistics/enumerable.rb
205
+ - lib/lite/statistics/monkey_patches.rb
193
206
  - lib/lite/statistics/version.rb
194
207
  - lite-statistics.gemspec
195
208
  homepage: http://drexed.github.io/lite-statistics
@@ -211,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
224
  - !ruby/object:Gem::Version
212
225
  version: '0'
213
226
  requirements: []
214
- rubygems_version: 3.1.4
227
+ rubygems_version: 3.2.24
215
228
  signing_key:
216
229
  specification_version: 4
217
230
  summary: Generate statistics from collections of data points
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lite
4
- module Statistics
5
-
6
- class Configuration
7
-
8
- attr_accessor :monkey_patches
9
-
10
- def initialize
11
- @monkey_patches = true
12
- end
13
-
14
- end
15
-
16
- class << self
17
-
18
- attr_writer :configuration
19
-
20
- def configuration
21
- @configuration ||= Configuration.new
22
- end
23
-
24
- def configure
25
- yield(configuration)
26
- end
27
-
28
- def reset_configuration!
29
- @configuration = Configuration.new
30
- end
31
-
32
- end
33
-
34
- end
35
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- if Lite::Statistics.configuration.monkey_patches
4
- module Enumerable
5
-
6
- EXCLUDED_DESCRIPTIVE_CALCULATIONS ||= %i[max min sum].freeze
7
-
8
- Lite::Statistics::Descriptive::CALCULATIONS.each do |name|
9
- next if EXCLUDED_DESCRIPTIVE_CALCULATIONS.include?(name)
10
-
11
- define_method(name) { |*args| Lite::Statistics::Descriptive.send(name, self, *args) }
12
- end
13
-
14
- alias average mean
15
- alias coefficient_of_variation sample_coefficient_of_variation
16
- alias kurtosis sample_kurtosis
17
- alias midextreme midrange
18
- alias percentile percentile_from_value
19
- alias percentile_rank value_from_percentile
20
- alias skewness sample_skewness
21
- alias standard_deviation sample_standard_deviation
22
- alias standard_error sample_standard_error
23
- alias summary sample_summary
24
- alias variance sample_variance
25
- alias zscores sample_zscores
26
-
27
- end
28
- end