comma 5.0.0 → 5.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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +10 -1
  3. data/.rubocop_todo.yml +5 -4
  4. data/Appraisals +20 -22
  5. data/Gemfile.lock +1 -1
  6. data/README.md +75 -3
  7. data/gemfiles/{active6.0.6.gemfile → active7.1.6.gemfile} +2 -2
  8. data/gemfiles/{active7.1.3.gemfile.lock → active7.1.6.gemfile.lock} +79 -43
  9. data/gemfiles/{active7.0.8.gemfile → active7.2.3.2.gemfile} +2 -2
  10. data/gemfiles/active7.2.3.2.gemfile.lock +182 -0
  11. data/gemfiles/{active6.1.7.6.gemfile → active8.0.5.1.gemfile} +2 -2
  12. data/gemfiles/{active6.1.7.6.gemfile.lock → active8.0.5.1.gemfile.lock} +87 -47
  13. data/gemfiles/{active7.1.3.gemfile → active8.1.3.1.gemfile} +2 -2
  14. data/gemfiles/{active7.0.8.gemfile.lock → active8.1.3.1.gemfile.lock} +87 -45
  15. data/gemfiles/{rails7.0.8.gemfile → rails7.1.6.gemfile} +1 -1
  16. data/gemfiles/{rails7.1.3.gemfile.lock → rails7.1.6.gemfile.lock} +155 -126
  17. data/gemfiles/{rails7.1.3.gemfile → rails7.2.3.2.gemfile} +1 -1
  18. data/gemfiles/rails7.2.3.2.gemfile.lock +321 -0
  19. data/gemfiles/{rails6.0.6.gemfile → rails8.0.5.1.gemfile} +1 -2
  20. data/gemfiles/rails8.0.5.1.gemfile.lock +319 -0
  21. data/gemfiles/{rails6.1.7.6.gemfile → rails8.1.3.1.gemfile} +1 -2
  22. data/gemfiles/rails8.1.3.1.gemfile.lock +322 -0
  23. data/lib/comma/array.rb +1 -3
  24. data/lib/comma/collection_export.rb +9 -0
  25. data/lib/comma/data_extractor.rb +16 -20
  26. data/lib/comma/data_mapper_collection.rb +1 -3
  27. data/lib/comma/extractor.rb +33 -2
  28. data/lib/comma/generator.rb +4 -8
  29. data/lib/comma/header_extractor.rb +10 -19
  30. data/lib/comma/mongoid.rb +1 -3
  31. data/lib/comma/object.rb +37 -11
  32. data/lib/comma/options.rb +18 -0
  33. data/lib/comma/rails/renderer.rb +21 -0
  34. data/lib/comma/rails.rb +16 -0
  35. data/lib/comma/version.rb +1 -1
  36. data/lib/comma.rb +4 -43
  37. data/spec/comma/comma_spec.rb +93 -34
  38. data/spec/comma/data_extractor_spec.rb +3 -3
  39. data/spec/comma/header_extractor_spec.rb +1 -1
  40. data/spec/comma/options_spec.rb +63 -0
  41. data/spec/comma/rails/active_record_spec.rb +0 -1
  42. data/spec/controllers/users_controller_spec.rb +13 -28
  43. data/spec/support/comma_class_helper.rb +12 -0
  44. data/spec/support/csv_expectation_helper.rb +14 -0
  45. metadata +28 -18
  46. data/gemfiles/active6.0.6.gemfile.lock +0 -144
  47. data/gemfiles/rails6.0.6.gemfile.lock +0 -276
  48. data/gemfiles/rails6.1.7.6.gemfile.lock +0 -279
  49. data/gemfiles/rails7.0.8.gemfile.lock +0 -274
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fae5c5a35ce2dcf1da69071e605198eb8ab6948a8f6debb662b7f9b14f79bb5
4
- data.tar.gz: 4eb4ffc8b5002d19a9b8f6b426588bc560bb080354d5e086bfff304fd32d99da
3
+ metadata.gz: ce045c478a147d8f8cf10cb1228ba6ba810b459ad61cfccd9b91f4029dad9c73
4
+ data.tar.gz: 75da1697c5e08af1a1bae4567780d2b9e0a535de873b910f6760479be5a3b519
5
5
  SHA512:
6
- metadata.gz: 1a90a5ccb14581614771e38d752947fad6b9bb5e21bd1f91015c6992407ce723707712979ec079410da7549be75657131751add6ee7bc2f26403ac1e650a448e
7
- data.tar.gz: 2f86f7c956a02754a5551ebd3402428eeaf8192cef254d4ec94eedbaa7d8adef4bcd0ed64fc3a86ddf5503e6a7df8ecc5869c0b1629b0af5238eead5792d9250
6
+ metadata.gz: d921a85f27d283ad74aba9a0996daa982af4ad3cf6599a1a473234b50fe25e9e5224cca78315de35aa52a1a88610beb172ae514e35f8f0c8abd162ab334c24c5
7
+ data.tar.gz: 81e45224e2949885afaa99859391c229358163b1ce840ff57b900bb13ac1f3d71b0b54f3b4dfbc4d4ee54ae5e945f15b1dc1bd7a788998028fc45b01e84ee49c
@@ -6,7 +6,16 @@ jobs:
6
6
  fail-fast: false
7
7
  matrix:
8
8
  ruby: ['3.1', '3.2', '3.3', '3.4', '4.0']
9
- gemfile: ['active6.0.6', 'active6.1.7.6', 'active7.0.8', 'active7.1.3', 'rails6.0.6', 'rails6.1.7.6', 'rails7.0.8', 'rails7.1.3']
9
+ gemfile: ['active7.1.6', 'active7.2.3.2', 'active8.0.5.1', 'active8.1.3.1', 'rails7.1.6', 'rails7.2.3.2', 'rails8.0.5.1', 'rails8.1.3.1']
10
+ exclude:
11
+ - ruby: '3.1'
12
+ gemfile: 'active8.0.5.1'
13
+ - ruby: '3.1'
14
+ gemfile: 'active8.1.3.1'
15
+ - ruby: '3.1'
16
+ gemfile: 'rails8.0.5.1'
17
+ - ruby: '3.1'
18
+ gemfile: 'rails8.1.3.1'
10
19
  runs-on: ubuntu-latest
11
20
  env:
12
21
  BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
data/.rubocop_todo.yml CHANGED
@@ -55,7 +55,6 @@ Layout/SpaceAroundMethodCallOperator:
55
55
  # AllowedMethods: enums
56
56
  Lint/ConstantDefinitionInBlock:
57
57
  Exclude:
58
- - 'spec/comma/comma_spec.rb'
59
58
  - 'spec/comma/rails/active_record_spec.rb'
60
59
  - 'spec/comma/rails/data_mapper_collection_spec.rb'
61
60
  - 'spec/comma/rails/mongoid_spec.rb'
@@ -108,13 +107,14 @@ Style/BlockDelimiters:
108
107
  - 'spec/comma/data_extractor_spec.rb'
109
108
  - 'spec/comma/header_extractor_spec.rb'
110
109
 
111
- # Offense count: 11
110
+ # Offense count: 12
112
111
  # Configuration parameters: AllowedConstants.
113
112
  Style/Documentation:
114
113
  Exclude:
115
114
  - 'spec/**/*'
116
115
  - 'test/**/*'
117
116
  - 'lib/comma/array.rb'
117
+ - 'lib/comma/collection_export.rb'
118
118
  - 'lib/comma/data_extractor.rb'
119
119
  - 'lib/comma/data_mapper_collection.rb'
120
120
  - 'lib/comma/extractor.rb'
@@ -122,13 +122,14 @@ Style/Documentation:
122
122
  - 'lib/comma/header_extractor.rb'
123
123
  - 'lib/comma/mongoid.rb'
124
124
  - 'lib/comma/object.rb'
125
+ - 'lib/comma/options.rb'
125
126
  - 'lib/comma/relation.rb'
126
127
 
127
- # Offense count: 3
128
+ # Offense count: 2
128
129
  Style/MissingRespondToMissing:
129
130
  Exclude:
130
131
  - 'lib/comma/data_extractor.rb'
131
- - 'lib/comma/header_extractor.rb'
132
+ - 'lib/comma/extractor.rb'
132
133
 
133
134
  # Offense count: 1
134
135
  # This cop supports safe autocorrection (--autocorrect).
data/Appraisals CHANGED
@@ -1,43 +1,41 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'rails6.0.6' do
4
- gem 'rails', '6.0.6'
3
+ appraise 'rails7.1.6' do
4
+ gem 'rails', '7.1.6'
5
5
  gem 'rspec-rails'
6
- gem 'test-unit'
7
6
  end
8
7
 
9
- appraise 'active6.0.6' do
10
- gem 'activesupport', '6.0.6'
11
- gem 'activerecord', '6.0.6'
8
+ appraise 'active7.1.6' do
9
+ gem 'activesupport', '7.1.6'
10
+ gem 'activerecord', '7.1.6'
12
11
  end
13
12
 
14
- appraise 'rails6.1.7.6' do
15
- gem 'rails', '6.1.7.6'
13
+ appraise 'rails7.2.3.2' do
14
+ gem 'rails', '7.2.3.2'
16
15
  gem 'rspec-rails'
17
- gem 'test-unit'
18
16
  end
19
17
 
20
- appraise 'active6.1.7.6' do
21
- gem 'activesupport', '6.1.7.6'
22
- gem 'activerecord', '6.1.7.6'
18
+ appraise 'active7.2.3.2' do
19
+ gem 'activesupport', '7.2.3.2'
20
+ gem 'activerecord', '7.2.3.2'
23
21
  end
24
22
 
25
- appraise 'rails7.0.8' do
26
- gem 'rails', '7.0.8'
23
+ appraise 'rails8.0.5.1' do
24
+ gem 'rails', '8.0.5.1'
27
25
  gem 'rspec-rails'
28
26
  end
29
27
 
30
- appraise 'active7.0.8' do
31
- gem 'activesupport', '7.0.8'
32
- gem 'activerecord', '7.0.8'
28
+ appraise 'active8.0.5.1' do
29
+ gem 'activesupport', '8.0.5.1'
30
+ gem 'activerecord', '8.0.5.1'
33
31
  end
34
32
 
35
- appraise 'rails7.1.3' do
36
- gem 'rails', '7.1.3'
33
+ appraise 'rails8.1.3.1' do
34
+ gem 'rails', '8.1.3.1'
37
35
  gem 'rspec-rails'
38
36
  end
39
37
 
40
- appraise 'active7.1.3' do
41
- gem 'activesupport', '7.1.3'
42
- gem 'activerecord', '7.1.3'
38
+ appraise 'active8.1.3.1' do
39
+ gem 'activesupport', '8.1.3.1'
40
+ gem 'activerecord', '8.1.3.1'
43
41
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comma (5.0.0)
4
+ comma (5.1.0)
5
5
  activesupport (>= 4.2.0)
6
6
  csv (>= 3.3)
7
7
 
data/README.md CHANGED
@@ -10,7 +10,7 @@ A library for generating comma-separated values (CSV) from Ruby objects, arrays,
10
10
 
11
11
  You need Ruby 3.1 or later.
12
12
 
13
- For Rails / ActiveRecord integration, this repository is currently tested against ActiveRecord and Rails 6.0 through 7.1 on Ruby 3.1 through 4.0.
13
+ For Rails / ActiveRecord integration, this repository is currently tested against ActiveRecord and Rails 7.1 and 7.2 on Ruby 3.1 through 4.0, and Rails 8.0 and 8.1 on Ruby 3.2 through 4.0 (Rails 8.x requires Ruby >= 3.2).
14
14
 
15
15
  ### Installing
16
16
 
@@ -19,7 +19,7 @@ Comma is distributed as a gem, best installed via Bundler.
19
19
  Include the gem in your Gemfile:
20
20
 
21
21
  ```ruby
22
- gem 'comma', '~> 5.0.0'
22
+ gem 'comma', '~> 5.1.0'
23
23
  ```
24
24
 
25
25
  Or, if you want to live life on the edge, you can get master from the main comma repository:
@@ -76,6 +76,78 @@ end
76
76
  users.to_comma(:short)
77
77
  ```
78
78
 
79
+ ### Dynamic columns
80
+
81
+ Formats are evaluated separately to produce headers and to produce each row. For CSVs whose columns are configured at runtime, resolve and order the full field-definition list before declaring the `comma` format, and keep that format isolated to the current export so another export cannot redefine it midway through generation.
82
+
83
+ The following self-contained example uses `Struct` rather than Ruby 3.2+'s
84
+ `Data`. It resolves the runtime field list once, attaches the format to a row
85
+ class created only for that export, emits headers from `field.label`, and reads
86
+ each value from the wrapped user's associated dynamic values via `field.key`:
87
+
88
+ ```ruby
89
+ DynamicField = Struct.new(:key, :label)
90
+ DynamicValue = Struct.new(:field_key, :value)
91
+
92
+ class User
93
+ attr_reader :name
94
+
95
+ def initialize(name, dynamic_values)
96
+ @name = name
97
+ @dynamic_values_by_field = dynamic_values.to_h do |value|
98
+ [value.field_key, value.value]
99
+ end
100
+ end
101
+
102
+ def dynamic_value(field_key)
103
+ @dynamic_values_by_field[field_key]
104
+ end
105
+ end
106
+
107
+ def export_users(users, resolved_fields)
108
+ fields = resolved_fields.to_a
109
+ row_class = Struct.new(:user)
110
+
111
+ row_class.comma :export do
112
+ __static_column__ 'Name' do |row|
113
+ row.user.name
114
+ end
115
+
116
+ fields.each do |field|
117
+ __static_column__ field.label do |row|
118
+ row.user.dynamic_value(field.key)
119
+ end
120
+ end
121
+ end
122
+
123
+ rows = users.map { |user| row_class.new(user) }
124
+ rows.to_comma(:export)
125
+ end
126
+
127
+ users = [
128
+ User.new('Ada', [
129
+ DynamicValue.new(:favorite_color, 'Blue'),
130
+ DynamicValue.new(:support_tier, 'Gold')
131
+ ]),
132
+ User.new('Grace', [
133
+ DynamicValue.new(:favorite_color, 'Green'),
134
+ DynamicValue.new(:support_tier, 'Silver')
135
+ ])
136
+ ]
137
+
138
+ fields = [
139
+ DynamicField.new(:favorite_color, 'Favorite color'),
140
+ DynamicField.new(:support_tier, 'Support tier')
141
+ ]
142
+
143
+ export_users(users, fields)
144
+ # => "Name,Favorite color,Support tier\nAda,Blue,Gold\nGrace,Green,Silver\n"
145
+ ```
146
+
147
+ In the example, `field.label` supplies each runtime header and `row.user.dynamic_value(field.key)` reads the matching value from the associated `dynamic_values` records.
148
+
149
+ When field definitions come from tenant or platform configuration, fetch and order them once for the requested export before the `comma` block is defined. That lets header generation and row generation iterate over the same field list, preserving header/value alignment. Creating `row_class` inside `export_users` also isolates the `:export` format to that one CSV, so a simultaneous export builds its own class instead of overwriting the format being used here.
150
+
79
151
  In Rails controllers, requiring the gem registers `render csv:` support:
80
152
 
81
153
  ```ruby
@@ -117,7 +189,7 @@ bundle exec appraisal rake spec
117
189
  You can also run a specific spec under one appraisal:
118
190
 
119
191
  ```sh
120
- bundle exec appraisal rails7.1.3 bundle exec rspec spec/controllers/users_controller_spec.rb
192
+ bundle exec appraisal rails7.1.6 bundle exec rspec spec/controllers/users_controller_spec.rb
121
193
  ```
122
194
 
123
195
  ## Contributing
@@ -6,7 +6,7 @@ gem "coveralls", :require => false
6
6
  gem "rubocop", "~> 1.30.0", :require => false
7
7
  gem "rubocop-performance", :require => false
8
8
  gem "sqlite3"
9
- gem "activesupport", "6.0.6"
10
- gem "activerecord", "6.0.6"
9
+ gem "activesupport", "7.1.6"
10
+ gem "activerecord", "7.1.6"
11
11
 
12
12
  gemspec :path => "../"
@@ -1,39 +1,42 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- comma (5.0.0)
4
+ comma (5.1.0)
5
5
  activesupport (>= 4.2.0)
6
6
  csv (>= 3.3)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activemodel (7.1.3)
12
- activesupport (= 7.1.3)
13
- activerecord (7.1.3)
14
- activemodel (= 7.1.3)
15
- activesupport (= 7.1.3)
11
+ activemodel (7.1.6)
12
+ activesupport (= 7.1.6)
13
+ activerecord (7.1.6)
14
+ activemodel (= 7.1.6)
15
+ activesupport (= 7.1.6)
16
16
  timeout (>= 0.4.0)
17
- activesupport (7.1.3)
17
+ activesupport (7.1.6)
18
18
  base64
19
+ benchmark (>= 0.3)
19
20
  bigdecimal
20
21
  concurrent-ruby (~> 1.0, >= 1.0.2)
21
22
  connection_pool (>= 2.2.5)
22
23
  drb
23
24
  i18n (>= 1.6, < 2)
25
+ logger (>= 1.4.2)
24
26
  minitest (>= 5.1)
25
27
  mutex_m
28
+ securerandom (>= 0.3)
26
29
  tzinfo (~> 2.0)
27
30
  appraisal (1.0.3)
28
31
  bundler
29
32
  rake
30
33
  thor (>= 0.14.0)
31
- ast (2.4.2)
34
+ ast (2.4.3)
32
35
  base64 (0.3.0)
33
36
  benchmark (0.5.0)
34
37
  bigdecimal (4.1.2)
35
- cgi (0.3.6)
36
- concurrent-ruby (1.3.6)
38
+ cgi (0.5.2)
39
+ concurrent-ruby (1.3.8)
37
40
  connection_pool (2.5.5)
38
41
  coveralls (0.8.23)
39
42
  json (>= 1.8, < 3)
@@ -41,47 +44,72 @@ GEM
41
44
  term-ansicolor (~> 1.3)
42
45
  thor (>= 0.19.4, < 2.0)
43
46
  tins (~> 1.6)
44
- csv (3.3.5)
45
- diff-lcs (1.5.0)
46
- docile (1.4.0)
47
+ csv (3.3.6)
48
+ date (3.5.1)
49
+ diff-lcs (1.6.2)
50
+ docile (1.4.1)
47
51
  drb (2.2.3)
48
- i18n (1.14.8)
52
+ erb (4.0.4.1)
53
+ cgi (>= 0.3.3)
54
+ i18n (1.15.2)
49
55
  concurrent-ruby (~> 1.0)
50
- json (2.7.1)
56
+ io-console (0.9.2)
57
+ irb (1.18.0)
58
+ pp (>= 0.6.0)
59
+ prism (>= 1.3.0)
60
+ rdoc (>= 4.0.0)
61
+ reline (>= 0.4.2)
62
+ json (2.21.2)
51
63
  logger (1.7.0)
52
- mini_portile2 (2.8.5)
64
+ mini_portile2 (2.8.9)
53
65
  minitest (5.27.0)
66
+ mize (0.6.1)
54
67
  mutex_m (0.3.0)
55
- ostruct (0.5.2)
56
- parallel (1.24.0)
57
- parser (3.3.0.4)
68
+ ostruct (0.6.3)
69
+ parallel (1.28.0)
70
+ parser (3.3.12.0)
58
71
  ast (~> 2.4.1)
59
72
  racc
60
- racc (1.7.3)
73
+ pp (0.6.4)
74
+ prettyprint
75
+ prettyprint (0.2.0)
76
+ prism (1.9.0)
77
+ psych (5.5.0)
78
+ date
79
+ stringio
80
+ racc (1.8.1)
61
81
  rainbow (3.1.1)
62
82
  rake (13.0.6)
63
- regexp_parser (2.9.0)
64
- rexml (3.2.6)
65
- rspec (3.13.0)
83
+ rdoc (7.2.0)
84
+ erb
85
+ psych (>= 4.0.0)
86
+ tsort
87
+ readline (0.0.4)
88
+ reline
89
+ regexp_parser (2.12.0)
90
+ reline (0.7.0)
91
+ io-console (~> 0.5)
92
+ rexml (3.4.4)
93
+ rspec (3.13.2)
66
94
  rspec-core (~> 3.13.0)
67
95
  rspec-expectations (~> 3.13.0)
68
96
  rspec-mocks (~> 3.13.0)
69
- rspec-activemodel-mocks (1.2.0)
97
+ rspec-activemodel-mocks (1.3.0)
70
98
  activemodel (>= 3.0)
71
99
  activesupport (>= 3.0)
72
100
  rspec-mocks (>= 2.99, < 4.0)
73
- rspec-core (3.13.1)
101
+ rspec-core (3.13.6)
74
102
  rspec-support (~> 3.13.0)
75
- rspec-expectations (3.13.3)
103
+ rspec-expectations (3.13.5)
76
104
  diff-lcs (>= 1.2.0, < 2.0)
77
105
  rspec-support (~> 3.13.0)
78
- rspec-its (1.3.0)
79
- rspec-core (>= 3.0.0)
80
- rspec-expectations (>= 3.0.0)
81
- rspec-mocks (3.13.1)
106
+ rspec-its (2.0.0)
107
+ rspec-core (>= 3.13.0)
108
+ rspec-expectations (>= 3.13.0)
109
+ rspec-mocks (3.13.8)
82
110
  diff-lcs (>= 1.2.0, < 2.0)
83
111
  rspec-support (~> 3.13.0)
84
- rspec-support (3.13.1)
112
+ rspec-support (3.13.7)
85
113
  rubocop (1.30.1)
86
114
  parallel (~> 1.10)
87
115
  parser (>= 3.1.0.0)
@@ -91,38 +119,46 @@ GEM
91
119
  rubocop-ast (>= 1.18.0, < 2.0)
92
120
  ruby-progressbar (~> 1.7)
93
121
  unicode-display_width (>= 1.4.0, < 3.0)
94
- rubocop-ast (1.30.0)
95
- parser (>= 3.2.1.0)
122
+ rubocop-ast (1.50.0)
123
+ parser (>= 3.3.7.2)
124
+ prism (~> 1.7)
96
125
  rubocop-performance (1.19.1)
97
126
  rubocop (>= 1.7.0, < 2.0)
98
127
  rubocop-ast (>= 0.4.0)
99
128
  ruby-progressbar (1.13.0)
129
+ securerandom (0.4.1)
100
130
  simplecov (0.16.1)
101
131
  docile (~> 1.1)
102
132
  json (>= 1.8, < 3)
103
133
  simplecov-html (~> 0.10.0)
104
134
  simplecov-html (0.10.2)
105
- sqlite3 (1.7.0)
135
+ sqlite3 (2.8.1)
106
136
  mini_portile2 (~> 2.8.0)
107
- sqlite3 (1.7.0-x86_64-linux)
137
+ sqlite3 (2.8.1-x86_64-linux-gnu)
138
+ stringio (3.2.0)
108
139
  sync (0.5.0)
109
- term-ansicolor (1.7.1)
110
- tins (~> 1.0)
111
- thor (1.3.0)
112
- timeout (0.4.1)
113
- tins (1.32.1)
140
+ term-ansicolor (1.11.3)
141
+ tins (~> 1)
142
+ thor (1.5.0)
143
+ timeout (0.6.1)
144
+ tins (1.56.0)
145
+ bigdecimal
146
+ irb
147
+ mize (~> 0.6)
148
+ readline
114
149
  sync
150
+ tsort (0.2.0)
115
151
  tzinfo (2.0.6)
116
152
  concurrent-ruby (~> 1.0)
117
- unicode-display_width (2.5.0)
153
+ unicode-display_width (2.6.0)
118
154
 
119
155
  PLATFORMS
120
156
  ruby
121
157
  x86_64-linux
122
158
 
123
159
  DEPENDENCIES
124
- activerecord (= 7.1.3)
125
- activesupport (= 7.1.3)
160
+ activerecord (= 7.1.6)
161
+ activesupport (= 7.1.6)
126
162
  appraisal (~> 1.0.0)
127
163
  base64
128
164
  benchmark
@@ -6,7 +6,7 @@ gem "coveralls", :require => false
6
6
  gem "rubocop", "~> 1.30.0", :require => false
7
7
  gem "rubocop-performance", :require => false
8
8
  gem "sqlite3"
9
- gem "activesupport", "7.0.8"
10
- gem "activerecord", "7.0.8"
9
+ gem "activesupport", "7.2.3.2"
10
+ gem "activerecord", "7.2.3.2"
11
11
 
12
12
  gemspec :path => "../"
@@ -0,0 +1,182 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ comma (5.1.0)
5
+ activesupport (>= 4.2.0)
6
+ csv (>= 3.3)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (7.2.3.2)
12
+ activesupport (= 7.2.3.2)
13
+ activerecord (7.2.3.2)
14
+ activemodel (= 7.2.3.2)
15
+ activesupport (= 7.2.3.2)
16
+ timeout (>= 0.4.0)
17
+ activesupport (7.2.3.2)
18
+ base64
19
+ benchmark (>= 0.3)
20
+ bigdecimal
21
+ concurrent-ruby (~> 1.0, >= 1.3.1)
22
+ connection_pool (>= 2.2.5)
23
+ drb
24
+ i18n (>= 1.6, < 2)
25
+ logger (>= 1.4.2)
26
+ minitest (>= 5.1, < 6)
27
+ securerandom (>= 0.3)
28
+ tzinfo (~> 2.0, >= 2.0.5)
29
+ appraisal (1.0.3)
30
+ bundler
31
+ rake
32
+ thor (>= 0.14.0)
33
+ ast (2.4.3)
34
+ base64 (0.3.0)
35
+ benchmark (0.5.0)
36
+ bigdecimal (4.1.2)
37
+ cgi (0.5.2)
38
+ concurrent-ruby (1.3.8)
39
+ connection_pool (2.5.5)
40
+ coveralls (0.8.23)
41
+ json (>= 1.8, < 3)
42
+ simplecov (~> 0.16.1)
43
+ term-ansicolor (~> 1.3)
44
+ thor (>= 0.19.4, < 2.0)
45
+ tins (~> 1.6)
46
+ csv (3.3.6)
47
+ date (3.5.1)
48
+ diff-lcs (1.6.2)
49
+ docile (1.4.1)
50
+ drb (2.2.3)
51
+ erb (4.0.4.1)
52
+ cgi (>= 0.3.3)
53
+ i18n (1.15.2)
54
+ concurrent-ruby (~> 1.0)
55
+ io-console (0.9.2)
56
+ irb (1.18.0)
57
+ pp (>= 0.6.0)
58
+ prism (>= 1.3.0)
59
+ rdoc (>= 4.0.0)
60
+ reline (>= 0.4.2)
61
+ json (2.21.2)
62
+ logger (1.7.0)
63
+ mini_portile2 (2.8.9)
64
+ minitest (5.27.0)
65
+ mize (0.6.1)
66
+ mutex_m (0.3.0)
67
+ ostruct (0.6.3)
68
+ parallel (1.28.0)
69
+ parser (3.3.12.0)
70
+ ast (~> 2.4.1)
71
+ racc
72
+ pp (0.6.4)
73
+ prettyprint
74
+ prettyprint (0.2.0)
75
+ prism (1.9.0)
76
+ psych (5.5.0)
77
+ date
78
+ stringio
79
+ racc (1.8.1)
80
+ rainbow (3.1.1)
81
+ rake (13.0.6)
82
+ rdoc (7.2.0)
83
+ erb
84
+ psych (>= 4.0.0)
85
+ tsort
86
+ readline (0.0.4)
87
+ reline
88
+ regexp_parser (2.12.0)
89
+ reline (0.7.0)
90
+ io-console (~> 0.5)
91
+ rexml (3.4.4)
92
+ rspec (3.13.2)
93
+ rspec-core (~> 3.13.0)
94
+ rspec-expectations (~> 3.13.0)
95
+ rspec-mocks (~> 3.13.0)
96
+ rspec-activemodel-mocks (1.3.0)
97
+ activemodel (>= 3.0)
98
+ activesupport (>= 3.0)
99
+ rspec-mocks (>= 2.99, < 4.0)
100
+ rspec-core (3.13.6)
101
+ rspec-support (~> 3.13.0)
102
+ rspec-expectations (3.13.5)
103
+ diff-lcs (>= 1.2.0, < 2.0)
104
+ rspec-support (~> 3.13.0)
105
+ rspec-its (2.0.0)
106
+ rspec-core (>= 3.13.0)
107
+ rspec-expectations (>= 3.13.0)
108
+ rspec-mocks (3.13.8)
109
+ diff-lcs (>= 1.2.0, < 2.0)
110
+ rspec-support (~> 3.13.0)
111
+ rspec-support (3.13.7)
112
+ rubocop (1.30.1)
113
+ parallel (~> 1.10)
114
+ parser (>= 3.1.0.0)
115
+ rainbow (>= 2.2.2, < 4.0)
116
+ regexp_parser (>= 1.8, < 3.0)
117
+ rexml (>= 3.2.5, < 4.0)
118
+ rubocop-ast (>= 1.18.0, < 2.0)
119
+ ruby-progressbar (~> 1.7)
120
+ unicode-display_width (>= 1.4.0, < 3.0)
121
+ rubocop-ast (1.50.0)
122
+ parser (>= 3.3.7.2)
123
+ prism (~> 1.7)
124
+ rubocop-performance (1.19.1)
125
+ rubocop (>= 1.7.0, < 2.0)
126
+ rubocop-ast (>= 0.4.0)
127
+ ruby-progressbar (1.13.0)
128
+ securerandom (0.4.1)
129
+ simplecov (0.16.1)
130
+ docile (~> 1.1)
131
+ json (>= 1.8, < 3)
132
+ simplecov-html (~> 0.10.0)
133
+ simplecov-html (0.10.2)
134
+ sqlite3 (2.8.1)
135
+ mini_portile2 (~> 2.8.0)
136
+ sqlite3 (2.8.1-x86_64-linux-gnu)
137
+ stringio (3.2.0)
138
+ sync (0.5.0)
139
+ term-ansicolor (1.11.3)
140
+ tins (~> 1)
141
+ thor (1.5.0)
142
+ timeout (0.6.1)
143
+ tins (1.56.0)
144
+ bigdecimal
145
+ irb
146
+ mize (~> 0.6)
147
+ readline
148
+ sync
149
+ tsort (0.2.0)
150
+ tzinfo (2.0.6)
151
+ concurrent-ruby (~> 1.0)
152
+ unicode-display_width (2.6.0)
153
+
154
+ PLATFORMS
155
+ ruby
156
+ x86_64-linux
157
+
158
+ DEPENDENCIES
159
+ activerecord (= 7.2.3.2)
160
+ activesupport (= 7.2.3.2)
161
+ appraisal (~> 1.0.0)
162
+ base64
163
+ benchmark
164
+ bigdecimal
165
+ cgi
166
+ comma!
167
+ coveralls
168
+ drb
169
+ logger
170
+ minitest (= 5.27.0)
171
+ mutex_m
172
+ ostruct
173
+ rake (~> 13.0.1)
174
+ rspec (~> 3.13)
175
+ rspec-activemodel-mocks
176
+ rspec-its
177
+ rubocop (~> 1.30.0)
178
+ rubocop-performance
179
+ sqlite3
180
+
181
+ BUNDLED WITH
182
+ 2.5.5
@@ -6,7 +6,7 @@ gem "coveralls", :require => false
6
6
  gem "rubocop", "~> 1.30.0", :require => false
7
7
  gem "rubocop-performance", :require => false
8
8
  gem "sqlite3"
9
- gem "activesupport", "6.1.7.6"
10
- gem "activerecord", "6.1.7.6"
9
+ gem "activesupport", "8.0.5.1"
10
+ gem "activerecord", "8.0.5.1"
11
11
 
12
12
  gemspec :path => "../"