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.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +10 -1
- data/.rubocop_todo.yml +5 -4
- data/Appraisals +20 -22
- data/Gemfile.lock +1 -1
- data/README.md +75 -3
- data/gemfiles/{active6.0.6.gemfile → active7.1.6.gemfile} +2 -2
- data/gemfiles/{active7.1.3.gemfile.lock → active7.1.6.gemfile.lock} +79 -43
- data/gemfiles/{active7.0.8.gemfile → active7.2.3.2.gemfile} +2 -2
- data/gemfiles/active7.2.3.2.gemfile.lock +182 -0
- data/gemfiles/{active6.1.7.6.gemfile → active8.0.5.1.gemfile} +2 -2
- data/gemfiles/{active6.1.7.6.gemfile.lock → active8.0.5.1.gemfile.lock} +87 -47
- data/gemfiles/{active7.1.3.gemfile → active8.1.3.1.gemfile} +2 -2
- data/gemfiles/{active7.0.8.gemfile.lock → active8.1.3.1.gemfile.lock} +87 -45
- data/gemfiles/{rails7.0.8.gemfile → rails7.1.6.gemfile} +1 -1
- data/gemfiles/{rails7.1.3.gemfile.lock → rails7.1.6.gemfile.lock} +155 -126
- data/gemfiles/{rails7.1.3.gemfile → rails7.2.3.2.gemfile} +1 -1
- data/gemfiles/rails7.2.3.2.gemfile.lock +321 -0
- data/gemfiles/{rails6.0.6.gemfile → rails8.0.5.1.gemfile} +1 -2
- data/gemfiles/rails8.0.5.1.gemfile.lock +319 -0
- data/gemfiles/{rails6.1.7.6.gemfile → rails8.1.3.1.gemfile} +1 -2
- data/gemfiles/rails8.1.3.1.gemfile.lock +322 -0
- data/lib/comma/array.rb +1 -3
- data/lib/comma/collection_export.rb +9 -0
- data/lib/comma/data_extractor.rb +16 -20
- data/lib/comma/data_mapper_collection.rb +1 -3
- data/lib/comma/extractor.rb +33 -2
- data/lib/comma/generator.rb +4 -8
- data/lib/comma/header_extractor.rb +10 -19
- data/lib/comma/mongoid.rb +1 -3
- data/lib/comma/object.rb +37 -11
- data/lib/comma/options.rb +18 -0
- data/lib/comma/rails/renderer.rb +21 -0
- data/lib/comma/rails.rb +16 -0
- data/lib/comma/version.rb +1 -1
- data/lib/comma.rb +4 -43
- data/spec/comma/comma_spec.rb +93 -34
- data/spec/comma/data_extractor_spec.rb +3 -3
- data/spec/comma/header_extractor_spec.rb +1 -1
- data/spec/comma/options_spec.rb +63 -0
- data/spec/comma/rails/active_record_spec.rb +0 -1
- data/spec/controllers/users_controller_spec.rb +13 -28
- data/spec/support/comma_class_helper.rb +12 -0
- data/spec/support/csv_expectation_helper.rb +14 -0
- metadata +28 -18
- data/gemfiles/active6.0.6.gemfile.lock +0 -144
- data/gemfiles/rails6.0.6.gemfile.lock +0 -276
- data/gemfiles/rails6.1.7.6.gemfile.lock +0 -279
- data/gemfiles/rails7.0.8.gemfile.lock +0 -274
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ce045c478a147d8f8cf10cb1228ba6ba810b459ad61cfccd9b91f4029dad9c73
|
|
4
|
+
data.tar.gz: 75da1697c5e08af1a1bae4567780d2b9e0a535de873b910f6760479be5a3b519
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d921a85f27d283ad74aba9a0996daa982af4ad3cf6599a1a473234b50fe25e9e5224cca78315de35aa52a1a88610beb172ae514e35f8f0c8abd162ab334c24c5
|
|
7
|
+
data.tar.gz: 81e45224e2949885afaa99859391c229358163b1ce840ff57b900bb13ac1f3d71b0b54f3b4dfbc4d4ee54ae5e945f15b1dc1bd7a788998028fc45b01e84ee49c
|
data/.github/workflows/build.yml
CHANGED
|
@@ -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: ['
|
|
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:
|
|
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:
|
|
128
|
+
# Offense count: 2
|
|
128
129
|
Style/MissingRespondToMissing:
|
|
129
130
|
Exclude:
|
|
130
131
|
- 'lib/comma/data_extractor.rb'
|
|
131
|
-
- 'lib/comma/
|
|
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 '
|
|
4
|
-
gem 'rails', '
|
|
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 '
|
|
10
|
-
gem 'activesupport', '
|
|
11
|
-
gem 'activerecord', '
|
|
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 '
|
|
15
|
-
gem 'rails', '
|
|
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 '
|
|
21
|
-
gem 'activesupport', '
|
|
22
|
-
gem 'activerecord', '
|
|
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 '
|
|
26
|
-
gem 'rails', '
|
|
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 '
|
|
31
|
-
gem 'activesupport', '
|
|
32
|
-
gem 'activerecord', '
|
|
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 '
|
|
36
|
-
gem 'rails', '
|
|
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 '
|
|
41
|
-
gem 'activesupport', '
|
|
42
|
-
gem 'activerecord', '
|
|
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
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
|
|
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.
|
|
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.
|
|
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", "
|
|
10
|
-
gem "activerecord", "
|
|
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.
|
|
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.
|
|
12
|
-
activesupport (= 7.1.
|
|
13
|
-
activerecord (7.1.
|
|
14
|
-
activemodel (= 7.1.
|
|
15
|
-
activesupport (= 7.1.
|
|
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.
|
|
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.
|
|
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.
|
|
36
|
-
concurrent-ruby (1.3.
|
|
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.
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
52
|
+
erb (4.0.4.1)
|
|
53
|
+
cgi (>= 0.3.3)
|
|
54
|
+
i18n (1.15.2)
|
|
49
55
|
concurrent-ruby (~> 1.0)
|
|
50
|
-
|
|
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.
|
|
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.
|
|
56
|
-
parallel (1.
|
|
57
|
-
parser (3.3.0
|
|
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
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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.
|
|
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.
|
|
101
|
+
rspec-core (3.13.6)
|
|
74
102
|
rspec-support (~> 3.13.0)
|
|
75
|
-
rspec-expectations (3.13.
|
|
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 (
|
|
79
|
-
rspec-core (>= 3.
|
|
80
|
-
rspec-expectations (>= 3.
|
|
81
|
-
rspec-mocks (3.13.
|
|
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.
|
|
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.
|
|
95
|
-
parser (>= 3.
|
|
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 (
|
|
135
|
+
sqlite3 (2.8.1)
|
|
106
136
|
mini_portile2 (~> 2.8.0)
|
|
107
|
-
sqlite3 (
|
|
137
|
+
sqlite3 (2.8.1-x86_64-linux-gnu)
|
|
138
|
+
stringio (3.2.0)
|
|
108
139
|
sync (0.5.0)
|
|
109
|
-
term-ansicolor (1.
|
|
110
|
-
tins (~> 1
|
|
111
|
-
thor (1.
|
|
112
|
-
timeout (0.
|
|
113
|
-
tins (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.
|
|
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.
|
|
125
|
-
activesupport (= 7.1.
|
|
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.
|
|
10
|
-
gem "activerecord", "7.
|
|
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", "
|
|
10
|
-
gem "activerecord", "
|
|
9
|
+
gem "activesupport", "8.0.5.1"
|
|
10
|
+
gem "activerecord", "8.0.5.1"
|
|
11
11
|
|
|
12
12
|
gemspec :path => "../"
|