daru_lite 0.1.2 → 0.2.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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +11 -0
  3. data/.github/workflows/ci.yml +2 -2
  4. data/.rubocop.yml +2 -2
  5. data/benchmarks/db_loading.rb +0 -1
  6. data/daru_lite.gemspec +10 -12
  7. data/daru_lite_test-shm +0 -0
  8. data/daru_lite_test-wal +0 -0
  9. data/lib/daru_lite/accessors/array_wrapper.rb +4 -4
  10. data/lib/daru_lite/core/merge.rb +8 -8
  11. data/lib/daru_lite/data_frame/calculatable.rb +2 -2
  12. data/lib/daru_lite/data_frame/filterable.rb +4 -4
  13. data/lib/daru_lite/data_frame/i_o_able.rb +17 -14
  14. data/lib/daru_lite/data_frame/iterable.rb +11 -11
  15. data/lib/daru_lite/data_frame/queryable.rb +5 -5
  16. data/lib/daru_lite/dataframe.rb +16 -14
  17. data/lib/daru_lite/date_time/index.rb +10 -10
  18. data/lib/daru_lite/extensions/which_dsl.rb +2 -2
  19. data/lib/daru_lite/index/index.rb +4 -4
  20. data/lib/daru_lite/index/multi_index.rb +13 -4
  21. data/lib/daru_lite/io/io.rb +10 -9
  22. data/lib/daru_lite/io/sql_data_source.rb +7 -24
  23. data/lib/daru_lite/maths/statistics/dataframe.rb +2 -2
  24. data/lib/daru_lite/maths/statistics/vector.rb +16 -16
  25. data/lib/daru_lite/vector/aggregatable.rb +2 -2
  26. data/lib/daru_lite/vector/filterable.rb +2 -2
  27. data/lib/daru_lite/vector/queryable.rb +4 -4
  28. data/lib/daru_lite/vector/sortable.rb +4 -4
  29. data/lib/daru_lite/vector.rb +4 -6
  30. data/lib/daru_lite/version.rb +1 -1
  31. data/spec/data_frame/filterable_example.rb +174 -15
  32. data/spec/index/categorical_index_spec.rb +27 -8
  33. data/spec/index/index_spec.rb +16 -3
  34. data/spec/index/multi_index_spec.rb +85 -76
  35. data/spec/io/io_spec.rb +0 -16
  36. data/spec/io/sql_data_source_spec.rb +0 -8
  37. data/spec/spec_helper.rb +1 -1
  38. data/spec/support/database_helper.rb +0 -1
  39. metadata +30 -65
@@ -1,22 +1,22 @@
1
1
  require 'spec_helper.rb'
2
2
 
3
3
  describe DaruLite::MultiIndex do
4
- before(:each) do
5
- @index_tuples = [
6
- [:a,:one,:bar],
7
- [:a,:one,:baz],
8
- [:a,:two,:bar],
9
- [:a,:two,:baz],
10
- [:b,:one,:bar],
11
- [:b,:two,:bar],
12
- [:b,:two,:baz],
13
- [:b,:one,:foo],
14
- [:c,:one,:bar],
15
- [:c,:one,:baz],
16
- [:c,:two,:foo],
17
- [:c,:two,:bar]
4
+ let(:index) { described_class.from_tuples(index_tuples) }
5
+ let(:index_tuples) do
6
+ [
7
+ [:a, :one, :bar],
8
+ [:a, :one, :baz],
9
+ [:a, :two, :bar],
10
+ [:a, :two, :baz],
11
+ [:b, :one, :bar],
12
+ [:b, :two, :bar],
13
+ [:b, :two, :baz],
14
+ [:b, :one, :foo],
15
+ [:c, :one, :bar],
16
+ [:c, :one, :baz],
17
+ [:c, :two, :foo],
18
+ [:c, :two, :bar]
18
19
  ]
19
- @multi_mi = DaruLite::MultiIndex.from_tuples(@index_tuples)
20
20
  end
21
21
 
22
22
  context ".initialize" do
@@ -71,16 +71,16 @@ describe DaruLite::MultiIndex do
71
71
 
72
72
  it "raises SizeError for wrong number of name" do
73
73
  error_msg = "\'names\' and \'levels\' should be of same size. Size of the \'name\' array is 2 and size of the MultiIndex \'levels\' and \'labels\' is 3.\nIf you do not want to set name for particular level (say level \'i\') then put empty string on index \'i\' of the \'name\' Array."
74
- expect { @multi_mi.name = ['n1', 'n2'] }.to raise_error(SizeError, error_msg)
74
+ expect { index.name = ['n1', 'n2'] }.to raise_error(SizeError, error_msg)
75
75
 
76
76
  error_msg = "'names' and 'levels' should be of same size. Size of the 'name' array is 0 and size of the MultiIndex 'levels' and 'labels' is 3.\nIf you do not want to set name for particular level (say level 'i') then put empty string on index 'i' of the 'name' Array."
77
- expect { @multi_mi.name = [ ] }.to raise_error(SizeError, error_msg)
77
+ expect { index.name = [ ] }.to raise_error(SizeError, error_msg)
78
78
 
79
79
  error_msg = "'names' and 'levels' should be of same size. Size of the 'name' array is 1 and size of the MultiIndex 'levels' and 'labels' is 3.\nIf you do not want to set name for particular level (say level 'i') then put empty string on index 'i' of the 'name' Array."
80
- expect { @multi_mi.name = [''] }.to raise_error(SizeError, error_msg)
80
+ expect { index.name = [''] }.to raise_error(SizeError, error_msg)
81
81
 
82
82
  error_msg = "'names' and 'levels' should be of same size. Size of the 'name' array is 4 and size of the MultiIndex 'levels' and 'labels' is 3."
83
- expect { @multi_mi.name = ['n1', 'n2', 'n3', 'n4'] }.to raise_error(SizeError, error_msg)
83
+ expect { index.name = ['n1', 'n2', 'n3', 'n4'] }.to raise_error(SizeError, error_msg)
84
84
  end
85
85
  end
86
86
  end
@@ -101,8 +101,8 @@ describe DaruLite::MultiIndex do
101
101
  end
102
102
 
103
103
  it "creates a triple layer MultiIndex from tuples" do
104
- expect(@multi_mi.levels).to eq([[:a,:b,:c], [:one, :two],[:bar,:baz,:foo]])
105
- expect(@multi_mi.labels).to eq([
104
+ expect(index.levels).to eq([[:a,:b,:c], [:one, :two],[:bar,:baz,:foo]])
105
+ expect(index.labels).to eq([
106
106
  [0,0,0,0,1,1,1,1,2,2,2,2],
107
107
  [0,0,1,1,0,1,1,0,0,0,1,1],
108
108
  [0,1,0,1,0,0,1,2,0,1,2,0]
@@ -132,23 +132,23 @@ describe DaruLite::MultiIndex do
132
132
 
133
133
  context "#size" do
134
134
  it "returns size of MultiIndex" do
135
- expect(@multi_mi.size).to eq(12)
135
+ expect(index.size).to eq(12)
136
136
  end
137
137
  end
138
138
 
139
139
  context "#[]" do
140
140
  it "returns the row number when specifying the complete tuple" do
141
- expect(@multi_mi[:a, :one, :baz]).to eq(1)
141
+ expect(index[:a, :one, :baz]).to eq(1)
142
142
  end
143
143
 
144
144
  it "returns MultiIndex when specifying incomplete tuple" do
145
- expect(@multi_mi[:b]).to eq(DaruLite::MultiIndex.from_tuples([
145
+ expect(index[:b]).to eq(DaruLite::MultiIndex.from_tuples([
146
146
  [:b,:one,:bar],
147
147
  [:b,:two,:bar],
148
148
  [:b,:two,:baz],
149
149
  [:b,:one,:foo]
150
150
  ]))
151
- expect(@multi_mi[:b, :one]).to eq(DaruLite::MultiIndex.from_tuples([
151
+ expect(index[:b, :one]).to eq(DaruLite::MultiIndex.from_tuples([
152
152
  [:b,:one,:bar],
153
153
  [:b,:one,:foo]
154
154
  ]))
@@ -156,7 +156,7 @@ describe DaruLite::MultiIndex do
156
156
  end
157
157
 
158
158
  it "returns MultiIndex when specifying wholly numeric ranges" do
159
- expect(@multi_mi[3..6]).to eq(DaruLite::MultiIndex.from_tuples([
159
+ expect(index[3..6]).to eq(DaruLite::MultiIndex.from_tuples([
160
160
  [:a,:two,:baz],
161
161
  [:b,:one,:bar],
162
162
  [:b,:two,:bar],
@@ -165,11 +165,11 @@ describe DaruLite::MultiIndex do
165
165
  end
166
166
 
167
167
  it "raises error when specifying invalid index" do
168
- expect { @multi_mi[:a, :three] }.to raise_error IndexError
169
- expect { @multi_mi[:a, :one, :xyz] }.to raise_error IndexError
170
- expect { @multi_mi[:x] }.to raise_error IndexError
171
- expect { @multi_mi[:x, :one] }.to raise_error IndexError
172
- expect { @multi_mi[:x, :one, :bar] }.to raise_error IndexError
168
+ expect { index[:a, :three] }.to raise_error IndexError
169
+ expect { index[:a, :one, :xyz] }.to raise_error IndexError
170
+ expect { index[:x] }.to raise_error IndexError
171
+ expect { index[:x, :one] }.to raise_error IndexError
172
+ expect { index[:x, :one, :bar] }.to raise_error IndexError
173
173
  end
174
174
 
175
175
  it "works with numerical first levels" do
@@ -189,93 +189,89 @@ describe DaruLite::MultiIndex do
189
189
  end
190
190
  end
191
191
 
192
+ describe "#to_a" do
193
+ subject { index.to_a }
194
+
195
+ it { is_expected.to eq(index_tuples) }
196
+
197
+ it 'the returns array is not a variable of the index' do
198
+ expect { subject << [:d, :one, :bar] }.not_to change { index.to_a }
199
+ end
200
+ end
201
+
192
202
  context "#include?" do
193
203
  it "checks if a completely specified tuple exists" do
194
- expect(@multi_mi.include?([:a,:one,:bar])).to eq(true)
204
+ expect(index.include?([:a,:one,:bar])).to eq(true)
195
205
  end
196
206
 
197
207
  it "checks if a top layer incomplete tuple exists" do
198
- expect(@multi_mi.include?([:a])).to eq(true)
208
+ expect(index.include?([:a])).to eq(true)
199
209
  end
200
210
 
201
211
  it "checks if a middle layer incomplete tuple exists" do
202
- expect(@multi_mi.include?([:a, :one])).to eq(true)
212
+ expect(index.include?([:a, :one])).to eq(true)
203
213
  end
204
214
 
205
215
  it "checks for non-existence of completely specified tuple" do
206
- expect(@multi_mi.include?([:b, :two, :foo])).to eq(false)
216
+ expect(index.include?([:b, :two, :foo])).to eq(false)
207
217
  end
208
218
 
209
219
  it "checks for non-existence of a top layer incomplete tuple" do
210
- expect(@multi_mi.include?([:d])).to eq(false)
220
+ expect(index.include?([:d])).to eq(false)
211
221
  end
212
222
 
213
223
  it "checks for non-existence of a middle layer incomplete tuple" do
214
- expect(@multi_mi.include?([:c, :three])).to eq(false)
224
+ expect(index.include?([:c, :three])).to eq(false)
215
225
  end
216
226
  end
217
227
 
218
228
  context "#key" do
219
229
  it "returns the tuple of the specified number" do
220
- expect(@multi_mi.key(3)).to eq([:a,:two,:baz])
230
+ expect(index.key(3)).to eq([:a,:two,:baz])
221
231
  end
222
232
 
223
233
  it "returns nil for non-existent pointer number" do
224
234
  expect {
225
- @multi_mi.key(100)
235
+ index.key(100)
226
236
  }.to raise_error ArgumentError
227
237
  end
228
238
  end
229
239
 
230
240
  context "#to_a" do
231
241
  it "returns tuples as an Array" do
232
- expect(@multi_mi.to_a).to eq(@index_tuples)
242
+ expect(index.to_a).to eq(index_tuples)
233
243
  end
234
244
  end
235
245
 
236
246
  context "#dup" do
237
247
  it "completely duplicates the object" do
238
- duplicate = @multi_mi.dup
239
- expect(duplicate) .to eq(@multi_mi)
240
- expect(duplicate.object_id).to_not eq(@multi_mi.object_id)
248
+ duplicate = index.dup
249
+ expect(duplicate) .to eq(index)
250
+ expect(duplicate.object_id).to_not eq(index.object_id)
241
251
  end
242
252
  end
243
253
 
244
254
  context "#inspect" do
245
255
  context 'small index' do
246
- subject {
247
- DaruLite::MultiIndex.from_tuples [
248
- [:a,:one,:bar],
249
- [:a,:one,:baz],
250
- [:a,:two,:bar],
251
- [:a,:two,:baz],
252
- [:b,:one,:bar],
253
- [:b,:two,:bar],
254
- [:b,:two,:baz],
255
- [:b,:one,:foo],
256
- [:c,:one,:bar],
257
- [:c,:one,:baz],
258
- [:c,:two,:foo],
259
- [:c,:two,:bar]
260
- ]
261
- }
262
-
263
- its(:inspect) { is_expected.to eq %Q{
264
- |#<DaruLite::MultiIndex(12x3)>
265
- | a one bar
266
- | baz
267
- | two bar
268
- | baz
269
- | b one bar
270
- | two bar
271
- | baz
272
- | one foo
273
- | c one bar
274
- | baz
275
- | two foo
276
- | bar
256
+ subject { index.inspect }
257
+
258
+ it do
259
+ is_expected.to eq %Q{
260
+ |#<DaruLite::MultiIndex(12x3)>
261
+ | a one bar
262
+ | baz
263
+ | two bar
264
+ | baz
265
+ | b one bar
266
+ | two bar
267
+ | baz
268
+ | one foo
269
+ | c one bar
270
+ | baz
271
+ | two foo
272
+ | bar
277
273
  }.unindent
278
- }
274
+ end
279
275
  end
280
276
 
281
277
  context 'large index' do
@@ -331,7 +327,7 @@ describe DaruLite::MultiIndex do
331
327
 
332
328
  context 'multi index with name having empty string' do
333
329
  subject {
334
- mi= DaruLite::MultiIndex.new(
330
+ DaruLite::MultiIndex.new(
335
331
  levels: [[:a,:b,:c],[:one,:two],[:bar, :baz, :foo]],
336
332
  labels: [
337
333
  [0,0,0,0,1,1,1,1,2,2,2,2],
@@ -677,4 +673,17 @@ describe DaruLite::MultiIndex do
677
673
  'col3' => %w[bar bar baz foo]
678
674
  )}
679
675
  end
676
+
677
+ describe '#delete_at' do
678
+ subject { index.delete_at(3)}
679
+
680
+ let(:index) do
681
+ DaruLite::MultiIndex.from_tuples([[:a, :one], [:a, :two], [:b, :one], [:b, :two], [:c, :one]])
682
+ end
683
+ let(:expected_index) do
684
+ DaruLite::MultiIndex.from_tuples([[:a, :one], [:a, :two], [:b, :one], [:c, :one]])
685
+ end
686
+
687
+ it { is_expected.to eq(expected_index) }
688
+ end
680
689
  end
data/spec/io/io_spec.rb CHANGED
@@ -175,22 +175,6 @@ describe DaruLite::IO do
175
175
  context ".from_sql" do
176
176
  include_context 'with accounts table in sqlite3 database'
177
177
 
178
- context 'with a database handler of DBI' do
179
- let(:db) do
180
- DBI.connect("DBI:SQLite3:#{db_name}")
181
- end
182
-
183
- subject { DaruLite::DataFrame.from_sql(db, "select * from accounts") }
184
-
185
- it "loads data from an SQL database" do
186
- accounts = subject
187
- expect(accounts.class).to eq DaruLite::DataFrame
188
- expect(accounts.nrows).to eq 2
189
- expect(accounts.row[0][:id]).to eq 1
190
- expect(accounts.row[0][:name]).to eq "Homer"
191
- end
192
- end
193
-
194
178
  context 'with a database connection of ActiveRecord' do
195
179
  let(:connection) do
196
180
  DaruLite::RSpec::Account.establish_connection "sqlite3:#{db_name}"
@@ -1,6 +1,5 @@
1
1
  require 'daru_lite/io/sql_data_source'
2
2
  require 'sqlite3'
3
- require 'dbi'
4
3
  require 'active_record'
5
4
 
6
5
  RSpec.describe DaruLite::IO::SqlDataSource do
@@ -18,13 +17,6 @@ RSpec.describe DaruLite::IO::SqlDataSource do
18
17
  describe '.make_dataframe' do
19
18
  subject(:df) { DaruLite::IO::SqlDataSource.make_dataframe(source, query) }
20
19
 
21
- context 'with DBI::DatabaseHandle' do
22
- let(:source) { DBI.connect("DBI:SQLite3:#{db_name}") }
23
- it { is_expected.to be_a(DaruLite::DataFrame) }
24
- it { expect(df.row[0]).to have_attributes(id: 1, age: 20) }
25
- its(:nrows) { is_expected.to eq 2 }
26
- end
27
-
28
20
  context 'with ActiveRecord::Connection' do
29
21
  it { is_expected.to be_a(DaruLite::DataFrame) }
30
22
  it { expect(df.row[0]).to have_attributes(id: 1, age: 20) }
data/spec/spec_helper.rb CHANGED
@@ -3,9 +3,9 @@ require 'rspec/its'
3
3
  require 'rspec/expectations'
4
4
  require 'matrix'
5
5
  require 'awesome_print'
6
+ require 'debug'
6
7
  require 'distribution'
7
8
  require 'tempfile'
8
- require 'pry-byebug'
9
9
  require 'nokogiri'
10
10
  require 'webmock/rspec'
11
11
 
@@ -1,5 +1,4 @@
1
1
  require 'sqlite3'
2
- require 'dbi'
3
2
  require 'active_record'
4
3
 
5
4
  module DaruLite::RSpec
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daru_lite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Naude-Filonnière
@@ -9,10 +9,9 @@ authors:
9
9
  - Julie Thomas
10
10
  - Amar Slaoua
11
11
  - Mourtada Belhantri
12
- autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2024-09-05 00:00:00.000000000 Z
14
+ date: 1980-01-02 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: activerecord
@@ -20,14 +19,14 @@ dependencies:
20
19
  requirements:
21
20
  - - "~>"
22
21
  - !ruby/object:Gem::Version
23
- version: '6.0'
22
+ version: '8.0'
24
23
  type: :development
25
24
  prerelease: false
26
25
  version_requirements: !ruby/object:Gem::Requirement
27
26
  requirements:
28
27
  - - "~>"
29
28
  - !ruby/object:Gem::Version
30
- version: '6.0'
29
+ version: '8.0'
31
30
  - !ruby/object:Gem::Dependency
32
31
  name: awesome_print
33
32
  requirement: !ruby/object:Gem::Requirement
@@ -48,48 +47,42 @@ dependencies:
48
47
  requirements:
49
48
  - - "~>"
50
49
  - !ruby/object:Gem::Version
51
- version: '2.1'
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 2.1.4
50
+ version: '2.6'
55
51
  type: :development
56
52
  prerelease: false
57
53
  version_requirements: !ruby/object:Gem::Requirement
58
54
  requirements:
59
55
  - - "~>"
60
56
  - !ruby/object:Gem::Version
61
- version: '2.1'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 2.1.4
57
+ version: '2.6'
65
58
  - !ruby/object:Gem::Dependency
66
- name: dbd-sqlite3
59
+ name: csv
67
60
  requirement: !ruby/object:Gem::Requirement
68
61
  requirements:
69
62
  - - "~>"
70
63
  - !ruby/object:Gem::Version
71
- version: 1.2.5
64
+ version: 3.3.4
72
65
  type: :development
73
66
  prerelease: false
74
67
  version_requirements: !ruby/object:Gem::Requirement
75
68
  requirements:
76
69
  - - "~>"
77
70
  - !ruby/object:Gem::Version
78
- version: 1.2.5
71
+ version: 3.3.4
79
72
  - !ruby/object:Gem::Dependency
80
- name: dbi
73
+ name: debug
81
74
  requirement: !ruby/object:Gem::Requirement
82
75
  requirements:
83
- - - "~>"
76
+ - - ">="
84
77
  - !ruby/object:Gem::Version
85
- version: 0.4.5
78
+ version: 1.0.0
86
79
  type: :development
87
80
  prerelease: false
88
81
  version_requirements: !ruby/object:Gem::Requirement
89
82
  requirements:
90
- - - "~>"
83
+ - - ">="
91
84
  - !ruby/object:Gem::Version
92
- version: 0.4.5
85
+ version: 1.0.0
93
86
  - !ruby/object:Gem::Dependency
94
87
  name: distribution
95
88
  requirement: !ruby/object:Gem::Requirement
@@ -124,14 +117,14 @@ dependencies:
124
117
  requirements:
125
118
  - - "~>"
126
119
  - !ruby/object:Gem::Version
127
- version: 1.16.2
120
+ version: 1.18.0
128
121
  type: :development
129
122
  prerelease: false
130
123
  version_requirements: !ruby/object:Gem::Requirement
131
124
  requirements:
132
125
  - - "~>"
133
126
  - !ruby/object:Gem::Version
134
- version: 1.16.2
127
+ version: 1.18.0
135
128
  - !ruby/object:Gem::Dependency
136
129
  name: prime
137
130
  requirement: !ruby/object:Gem::Requirement
@@ -146,34 +139,6 @@ dependencies:
146
139
  - - "~>"
147
140
  - !ruby/object:Gem::Version
148
141
  version: 0.1.2
149
- - !ruby/object:Gem::Dependency
150
- name: pry
151
- requirement: !ruby/object:Gem::Requirement
152
- requirements:
153
- - - "~>"
154
- - !ruby/object:Gem::Version
155
- version: '0.14'
156
- type: :development
157
- prerelease: false
158
- version_requirements: !ruby/object:Gem::Requirement
159
- requirements:
160
- - - "~>"
161
- - !ruby/object:Gem::Version
162
- version: '0.14'
163
- - !ruby/object:Gem::Dependency
164
- name: pry-byebug
165
- requirement: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - "~>"
168
- - !ruby/object:Gem::Version
169
- version: 3.10.1
170
- type: :development
171
- prerelease: false
172
- version_requirements: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - "~>"
175
- - !ruby/object:Gem::Version
176
- version: 3.10.1
177
142
  - !ruby/object:Gem::Dependency
178
143
  name: rake
179
144
  requirement: !ruby/object:Gem::Requirement
@@ -208,14 +173,14 @@ dependencies:
208
173
  requirements:
209
174
  - - "~>"
210
175
  - !ruby/object:Gem::Version
211
- version: 1.3.0
176
+ version: 2.0.0
212
177
  type: :development
213
178
  prerelease: false
214
179
  version_requirements: !ruby/object:Gem::Requirement
215
180
  requirements:
216
181
  - - "~>"
217
182
  - !ruby/object:Gem::Version
218
- version: 1.3.0
183
+ version: 2.0.0
219
184
  - !ruby/object:Gem::Dependency
220
185
  name: rubocop
221
186
  requirement: !ruby/object:Gem::Requirement
@@ -236,28 +201,28 @@ dependencies:
236
201
  requirements:
237
202
  - - "~>"
238
203
  - !ruby/object:Gem::Version
239
- version: 1.20.2
204
+ version: 1.25.0
240
205
  type: :development
241
206
  prerelease: false
242
207
  version_requirements: !ruby/object:Gem::Requirement
243
208
  requirements:
244
209
  - - "~>"
245
210
  - !ruby/object:Gem::Version
246
- version: 1.20.2
211
+ version: 1.25.0
247
212
  - !ruby/object:Gem::Dependency
248
213
  name: rubocop-rspec
249
214
  requirement: !ruby/object:Gem::Requirement
250
215
  requirements:
251
216
  - - "~>"
252
217
  - !ruby/object:Gem::Version
253
- version: '2.25'
218
+ version: '3.6'
254
219
  type: :development
255
220
  prerelease: false
256
221
  version_requirements: !ruby/object:Gem::Requirement
257
222
  requirements:
258
223
  - - "~>"
259
224
  - !ruby/object:Gem::Version
260
- version: '2.25'
225
+ version: '3.6'
261
226
  - !ruby/object:Gem::Dependency
262
227
  name: ruby-prof
263
228
  requirement: !ruby/object:Gem::Requirement
@@ -320,28 +285,28 @@ dependencies:
320
285
  requirements:
321
286
  - - "~>"
322
287
  - !ruby/object:Gem::Version
323
- version: 1.7.2
288
+ version: 2.6.0
324
289
  type: :development
325
290
  prerelease: false
326
291
  version_requirements: !ruby/object:Gem::Requirement
327
292
  requirements:
328
293
  - - "~>"
329
294
  - !ruby/object:Gem::Version
330
- version: 1.7.2
295
+ version: 2.6.0
331
296
  - !ruby/object:Gem::Dependency
332
297
  name: webmock
333
298
  requirement: !ruby/object:Gem::Requirement
334
299
  requirements:
335
300
  - - "~>"
336
301
  - !ruby/object:Gem::Version
337
- version: 3.20.0
302
+ version: 3.25.0
338
303
  type: :development
339
304
  prerelease: false
340
305
  version_requirements: !ruby/object:Gem::Requirement
341
306
  requirements:
342
307
  - - "~>"
343
308
  - !ruby/object:Gem::Version
344
- version: 3.20.0
309
+ version: 3.25.0
345
310
  description: |
346
311
  Daru (Data Analysis in RUby) is a library for analysis, manipulation and visualization
347
312
  of data. Daru works seamlessly accross interpreters and leverages interpreter-specific
@@ -351,13 +316,13 @@ description: |
351
316
  and can be used with many others like mixed_models, gnuplotrb and iruby.
352
317
 
353
318
  Daru Lite is a fork of Daru that aims to focus on data manipulation and stability.
354
- email:
355
319
  executables: []
356
320
  extensions: []
357
321
  extra_rdoc_files: []
358
322
  files:
359
323
  - ".github/ISSUE_TEMPLATE/bug_report.md"
360
324
  - ".github/ISSUE_TEMPLATE/feature_request.md"
325
+ - ".github/dependabot.yml"
361
326
  - ".github/workflows/ci.yml"
362
327
  - ".gitignore"
363
328
  - ".rspec"
@@ -386,6 +351,8 @@ files:
386
351
  - benchmarks/where_clause.rb
387
352
  - benchmarks/where_vs_filter.rb
388
353
  - daru_lite.gemspec
354
+ - daru_lite_test-shm
355
+ - daru_lite_test-wal
389
356
  - images/README.md
390
357
  - images/con0.png
391
358
  - images/con1.png
@@ -564,7 +531,6 @@ homepage: https://github.com/pollandroll/daru
564
531
  licenses:
565
532
  - BSD-2-Clause
566
533
  metadata: {}
567
- post_install_message:
568
534
  rdoc_options: []
569
535
  require_paths:
570
536
  - lib
@@ -579,8 +545,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
579
545
  - !ruby/object:Gem::Version
580
546
  version: '0'
581
547
  requirements: []
582
- rubygems_version: 3.5.6
583
- signing_key:
548
+ rubygems_version: 3.6.8
584
549
  specification_version: 4
585
550
  summary: Data Analysis in RUby, stripped down
586
551
  test_files: