lite-report 1.0.5 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e19a104989a720b33c1d0be498695c26352a0a607d8a2c89af66705958398ed1
4
- data.tar.gz: 2df858892aff83bad0042f486e4d9501b7a7ef5886c9139b5496c0c9ac37af73
3
+ metadata.gz: e5306a141edec1f32743651c3fe81fc7d9f99a4f091ae21b2cee30de8e428b02
4
+ data.tar.gz: bef4ad772798d30c09c27ad0807201b0701062372b52ca7adfc3094715a6c636
5
5
  SHA512:
6
- metadata.gz: 153acef279ba609c0b02f30b0651fb5c085231dbc22d713499ffd38b254d0881821060bbe02947eadf2f1f2b853ca002e998460bb918a4fccd9bc60484261a97
7
- data.tar.gz: 6001668ff0e2751a674abaec2331ba43f9aec2eda280ac66b5c40c7f234fcb2f505c0ec1b4d7f9e72f2add92c1469aa6622bf959aee89f558e9596c1310ec227
6
+ metadata.gz: effd567e92022ea1c3487694d41d692cb46fb5f01678676627d3c9deca79739c3fd61ce0994157067ad4ba0430f459a65b1fd5c61e541a33511056ebe7eb6355
7
+ data.tar.gz: 1d165fe27b4495ab9a594f7ff4c7f91f23c40d92309044c53ca21815134d6349ef6f4dd4fd538d1359db9a318c68989c31424c38b94738bd39b44255cccf5f07
data/.rubocop.yml CHANGED
@@ -1,11 +1,14 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
3
4
  - rubocop-rspec
4
5
  AllCops:
5
6
  TargetRubyVersion: 2.7
6
7
  NewCops: enable
7
8
  DisplayCopNames: true
8
9
  DisplayStyleGuide: true
10
+ Gemspec/RequiredRubyVersion:
11
+ Enabled: false
9
12
  Layout/EmptyLinesAroundAttributeAccessor:
10
13
  Enabled: true
11
14
  Layout/EmptyLinesAroundBlockBody:
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
+ ## [1.20.0] - 2021-07-18
10
+ ### Removed
11
+ - Removed `activerecord-import` dependency
12
+ - Removed `deep_pluck` dependency
13
+
14
+ ## [1.1.1] - 2021-05-07
15
+ ### Changed
16
+ - Linter fixes
17
+
18
+ ## [1.1.0] - 2021-01-06
19
+ ### Added
20
+ - Added Exporter helper class
21
+ - Added rubocop-rake linter
22
+
23
+ ## [1.0.6] - 2020-10-10
24
+ ### Added
25
+ - Added improved Ruby 2.7 support
26
+
9
27
  ## [1.0.5] - 2020-07-03
10
28
  ### Added
11
29
  - Added Ruby 2.7 support
data/Gemfile.lock CHANGED
@@ -1,75 +1,70 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-report (1.0.5)
4
+ lite-report (1.2.0)
5
5
  activerecord
6
- activerecord-import
7
- deep_pluck
8
6
 
9
7
  GEM
10
8
  remote: https://rubygems.org/
11
9
  specs:
12
- actionpack (6.0.3.2)
13
- actionview (= 6.0.3.2)
14
- activesupport (= 6.0.3.2)
15
- 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)
16
14
  rack-test (>= 0.6.3)
17
15
  rails-dom-testing (~> 2.0)
18
16
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
19
- actionview (6.0.3.2)
20
- activesupport (= 6.0.3.2)
17
+ actionview (6.1.4)
18
+ activesupport (= 6.1.4)
21
19
  builder (~> 3.1)
22
20
  erubi (~> 1.4)
23
21
  rails-dom-testing (~> 2.0)
24
22
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
25
- activemodel (6.0.3.2)
26
- activesupport (= 6.0.3.2)
27
- activerecord (6.0.3.2)
28
- activemodel (= 6.0.3.2)
29
- activesupport (= 6.0.3.2)
30
- activerecord-import (1.0.5)
31
- activerecord (>= 3.2)
32
- activesupport (6.0.3.2)
23
+ activemodel (6.1.4)
24
+ activesupport (= 6.1.4)
25
+ activerecord (6.1.4)
26
+ activemodel (= 6.1.4)
27
+ activesupport (= 6.1.4)
28
+ activesupport (6.1.4)
33
29
  concurrent-ruby (~> 1.0, >= 1.0.2)
34
- i18n (>= 0.7, < 2)
35
- minitest (~> 5.1)
36
- tzinfo (~> 1.1)
37
- zeitwerk (~> 2.2, >= 2.2.2)
38
- ast (2.4.1)
30
+ i18n (>= 1.6, < 2)
31
+ minitest (>= 5.1)
32
+ tzinfo (~> 2.0)
33
+ zeitwerk (~> 2.3)
34
+ ast (2.4.2)
39
35
  builder (3.2.4)
40
36
  colorize (0.8.1)
41
- concurrent-ruby (1.1.6)
37
+ concurrent-ruby (1.1.9)
42
38
  crass (1.0.6)
43
- database_cleaner (1.8.5)
44
- deep_pluck (1.1.4)
45
- activerecord (>= 3)
46
- pluck_all (>= 1.2.3)
47
- rails_compatibility (>= 0.0.1)
39
+ database_cleaner (2.0.1)
40
+ database_cleaner-active_record (~> 2.0.0)
41
+ database_cleaner-active_record (2.0.1)
42
+ activerecord (>= 5.a)
43
+ database_cleaner-core (~> 2.0.0)
44
+ database_cleaner-core (2.0.1)
48
45
  diff-lcs (1.4.4)
49
- erubi (1.9.0)
50
- fasterer (0.8.3)
46
+ erubi (1.10.0)
47
+ fasterer (0.9.0)
51
48
  colorize (~> 0.7)
52
49
  ruby_parser (>= 3.14.1)
53
50
  generator_spec (0.9.4)
54
51
  activesupport (>= 3.0.0)
55
52
  railties (>= 3.0.0)
56
- i18n (1.8.3)
53
+ i18n (1.8.10)
57
54
  concurrent-ruby (~> 1.0)
58
- loofah (2.6.0)
55
+ loofah (2.10.0)
59
56
  crass (~> 1.0.2)
60
57
  nokogiri (>= 1.5.9)
61
58
  method_source (1.0.0)
62
- mini_portile2 (2.4.0)
63
- minitest (5.14.1)
64
- nokogiri (1.10.9)
65
- mini_portile2 (~> 2.4.0)
66
- parallel (1.19.2)
67
- parser (2.7.1.4)
59
+ mini_portile2 (2.5.3)
60
+ minitest (5.14.4)
61
+ nokogiri (1.11.7)
62
+ mini_portile2 (~> 2.5.0)
63
+ racc (~> 1.4)
64
+ parallel (1.20.1)
65
+ parser (3.0.2.0)
68
66
  ast (~> 2.4.1)
69
- pluck_all (2.0.4)
70
- activesupport (>= 3.0.0)
71
- polyamorous (2.3.2)
72
- activerecord (>= 5.2.1)
67
+ racc (1.5.2)
73
68
  rack (2.2.3)
74
69
  rack-test (1.1.0)
75
70
  rack (>= 1.0, < 3)
@@ -78,70 +73,70 @@ GEM
78
73
  nokogiri (>= 1.6)
79
74
  rails-html-sanitizer (1.3.0)
80
75
  loofah (~> 2.3)
81
- rails_compatibility (0.0.2)
82
- activerecord (>= 3)
83
- railties (6.0.3.2)
84
- actionpack (= 6.0.3.2)
85
- activesupport (= 6.0.3.2)
76
+ railties (6.1.4)
77
+ actionpack (= 6.1.4)
78
+ activesupport (= 6.1.4)
86
79
  method_source
87
- rake (>= 0.8.7)
88
- thor (>= 0.20.3, < 2.0)
80
+ rake (>= 0.13)
81
+ thor (~> 1.0)
89
82
  rainbow (3.0.0)
90
- rake (13.0.1)
91
- ransack (2.3.2)
92
- activerecord (>= 5.2.1)
93
- activesupport (>= 5.2.1)
83
+ rake (13.0.6)
84
+ ransack (2.4.2)
85
+ activerecord (>= 5.2.4)
86
+ activesupport (>= 5.2.4)
94
87
  i18n
95
- polyamorous (= 2.3.2)
96
- regexp_parser (1.7.1)
97
- rexml (3.2.4)
98
- rspec (3.9.0)
99
- rspec-core (~> 3.9.0)
100
- rspec-expectations (~> 3.9.0)
101
- rspec-mocks (~> 3.9.0)
102
- rspec-core (3.9.2)
103
- rspec-support (~> 3.9.3)
104
- rspec-expectations (3.9.2)
88
+ regexp_parser (2.1.1)
89
+ rexml (3.2.5)
90
+ rspec (3.10.0)
91
+ rspec-core (~> 3.10.0)
92
+ rspec-expectations (~> 3.10.0)
93
+ rspec-mocks (~> 3.10.0)
94
+ rspec-core (3.10.1)
95
+ rspec-support (~> 3.10.0)
96
+ rspec-expectations (3.10.1)
105
97
  diff-lcs (>= 1.2.0, < 2.0)
106
- rspec-support (~> 3.9.0)
107
- rspec-mocks (3.9.1)
98
+ rspec-support (~> 3.10.0)
99
+ rspec-mocks (3.10.2)
108
100
  diff-lcs (>= 1.2.0, < 2.0)
109
- rspec-support (~> 3.9.0)
110
- rspec-rails (4.0.1)
111
- actionpack (>= 4.2)
112
- activesupport (>= 4.2)
113
- railties (>= 4.2)
114
- rspec-core (~> 3.9)
115
- rspec-expectations (~> 3.9)
116
- rspec-mocks (~> 3.9)
117
- rspec-support (~> 3.9)
118
- rspec-support (3.9.3)
119
- rubocop (0.86.0)
101
+ rspec-support (~> 3.10.0)
102
+ rspec-rails (5.0.1)
103
+ actionpack (>= 5.2)
104
+ activesupport (>= 5.2)
105
+ railties (>= 5.2)
106
+ rspec-core (~> 3.10)
107
+ rspec-expectations (~> 3.10)
108
+ rspec-mocks (~> 3.10)
109
+ rspec-support (~> 3.10)
110
+ rspec-support (3.10.2)
111
+ rubocop (1.18.3)
120
112
  parallel (~> 1.10)
121
- parser (>= 2.7.0.1)
113
+ parser (>= 3.0.0.0)
122
114
  rainbow (>= 2.2.2, < 4.0)
123
- regexp_parser (>= 1.7)
115
+ regexp_parser (>= 1.8, < 3.0)
124
116
  rexml
125
- rubocop-ast (>= 0.0.3, < 1.0)
117
+ rubocop-ast (>= 1.7.0, < 2.0)
126
118
  ruby-progressbar (~> 1.7)
127
- unicode-display_width (>= 1.4.0, < 2.0)
128
- rubocop-ast (0.1.0)
129
- parser (>= 2.7.0.1)
130
- rubocop-performance (1.6.1)
131
- rubocop (>= 0.71.0)
132
- rubocop-rspec (1.41.0)
133
- rubocop (>= 0.68.1)
134
- ruby-progressbar (1.10.1)
135
- ruby_parser (3.14.2)
136
- sexp_processor (~> 4.9)
137
- sexp_processor (4.15.0)
119
+ unicode-display_width (>= 1.4.0, < 3.0)
120
+ rubocop-ast (1.8.0)
121
+ parser (>= 3.0.1.1)
122
+ rubocop-performance (1.11.4)
123
+ rubocop (>= 1.7.0, < 2.0)
124
+ rubocop-ast (>= 0.4.0)
125
+ rubocop-rake (0.6.0)
126
+ rubocop (~> 1.0)
127
+ rubocop-rspec (2.4.0)
128
+ rubocop (~> 1.0)
129
+ rubocop-ast (>= 1.1.0)
130
+ ruby-progressbar (1.11.0)
131
+ ruby_parser (3.16.0)
132
+ sexp_processor (~> 4.15, >= 4.15.1)
133
+ sexp_processor (4.15.3)
138
134
  sqlite3 (1.4.2)
139
- thor (1.0.1)
140
- thread_safe (0.3.6)
141
- tzinfo (1.2.7)
142
- thread_safe (~> 0.1)
143
- unicode-display_width (1.7.0)
144
- zeitwerk (2.3.1)
135
+ thor (1.1.0)
136
+ tzinfo (2.0.4)
137
+ concurrent-ruby (~> 1.0)
138
+ unicode-display_width (2.0.0)
139
+ zeitwerk (2.4.2)
145
140
 
146
141
  PLATFORMS
147
142
  ruby
@@ -158,8 +153,9 @@ DEPENDENCIES
158
153
  rspec-rails
159
154
  rubocop
160
155
  rubocop-performance
156
+ rubocop-rake
161
157
  rubocop-rspec
162
158
  sqlite3
163
159
 
164
160
  BUNDLED WITH
165
- 2.1.4
161
+ 2.2.24
data/README.md CHANGED
@@ -31,6 +31,7 @@ Or install it yourself as:
31
31
  * [Array](#array)
32
32
  * [Hash](#hash)
33
33
  * [Record](#record)
34
+ * [Exporter](#exporter)
34
35
  * [Stream](#stream)
35
36
  * [Port](#port)
36
37
 
@@ -134,16 +135,50 @@ Lite::Report::Record.export(
134
135
  }
135
136
  )
136
137
 
137
- # Convert CSV file to an array of records
138
+ # Convert CSV file to an array of records (import options are from Rails `insert_all`)
138
139
  Lite::Report::Record.import(
139
140
  'path/to/file.csv',
140
141
  data_options: {
141
142
  klass: User,
142
143
  except: [:age, :sex]
144
+ },
145
+ import_options: {
146
+ unique_by: %w[Name Age]
143
147
  }
144
148
  )
145
149
  ```
146
150
 
151
+ ## Exporter
152
+
153
+ Use exporters to filter, manipulate, and prepare data before final exportation.
154
+ These are very helpful when working with complex datasets.
155
+
156
+ ```ruby
157
+ class LimitedExporter < Lite::Report::Exporter
158
+
159
+ private
160
+
161
+ def serialize(record)
162
+ {
163
+ 'Id' => record.id,
164
+ 'Name' => "#{record.first_name} #{record.last_name}",
165
+ 'Speed' => record.speed.ceil,
166
+ 'Date' => record.to_s(:short)
167
+ }
168
+
169
+ # - or -
170
+
171
+ serializer = RecordSerializer.new(record)
172
+ serializer.serializable_hash
173
+ end
174
+
175
+ end
176
+
177
+ raw_data = User.where(age: 20..29)
178
+ limited_data = LimitedExporter.call(raw_data)
179
+ Lite::Report::Hash.export(limited_data)
180
+ ```
181
+
147
182
  ## Stream
148
183
 
149
184
  Stream is great option for preventing browser timeouts of downloading large CSV files by chunking
data/lib/lite/report.rb CHANGED
@@ -7,7 +7,7 @@ require 'lite/report/version'
7
7
  require "lite/report/helpers/#{file_name}"
8
8
  end
9
9
 
10
- %w[configuration base array hash record].each do |file_name|
10
+ %w[configuration base array hash record exporter].each do |file_name|
11
11
  require "lite/report/#{file_name}"
12
12
  end
13
13
 
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Lite::Report::Exporter
4
+
5
+ class NotImplementedError < StandardError; end
6
+
7
+ attr_reader :records
8
+
9
+ def initialize(records)
10
+ @records = records
11
+ end
12
+
13
+ class << self
14
+
15
+ def call(records)
16
+ instance = new(records)
17
+ instance.call
18
+ end
19
+
20
+ end
21
+
22
+ def call
23
+ results = []
24
+
25
+ if records.respond_to?(:find_each)
26
+ records.find_each { |record| results << serialize(record) }
27
+ elsif records.respond_to?(:each)
28
+ records.each { |record| results << serialize(record) }
29
+ else
30
+ results << serialize(records)
31
+ end
32
+
33
+ results
34
+ end
35
+
36
+ private
37
+
38
+ def serialize(record)
39
+ raise NotImplementedError
40
+ end
41
+
42
+ end
@@ -16,7 +16,7 @@ module Lite
16
16
 
17
17
  def convert_to_hash!(row)
18
18
  case row.class.name
19
- when 'Array' then ::Hash[(0..(row.size - 1)).zip(row)]
19
+ when 'Array' then (0..(row.size - 1)).zip(row).to_h
20
20
  when 'CSV::Row' then row.to_hash
21
21
  else row
22
22
  end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'active_record'
4
- require 'activerecord-import'
5
- require 'deep_pluck'
6
4
 
7
5
  class Lite::Report::Record < Lite::Report::Base
8
6
 
@@ -16,9 +14,13 @@ class Lite::Report::Record < Lite::Report::Base
16
14
  assign_import_csv_options!
17
15
 
18
16
  @data = Lite::Report::Hash.import(@data, csv_options: @csv_options, data_options: @data_options)
19
- .each { |row| row.delete(:id) || row.delete('id') }
17
+ .each do |row|
18
+ row.delete(:id) || row.delete('id')
19
+ (row['created_at'] ||= timestamp) if created_at_timestamp?
20
+ (row['updated_at'] ||= timestamp) if updated_at_timestamp?
21
+ end
20
22
 
21
- klass.import(@data, @import_options)
23
+ klass.insert_all(@data, **@import_options)
22
24
  end
23
25
 
24
26
  private
@@ -41,9 +43,15 @@ class Lite::Report::Record < Lite::Report::Base
41
43
 
42
44
  def assign_export_data!
43
45
  columns = class_columns(@data)
44
- @data = @data.result if ransack_class?(@data)
45
- @data = @data.deep_pluck(*columns)
46
- @data = [@data] unless @data.is_a?(Array)
46
+ @data = if ransack_class?(@data)
47
+ @data.result
48
+ elsif @data.try(:persisted?)
49
+ Array(@data)
50
+ else
51
+ @data
52
+ end
53
+
54
+ @data = @data.pluck(*columns).map { |values| columns.zip(values).to_h }
47
55
  end
48
56
 
49
57
  def generate_export!
@@ -56,4 +64,20 @@ class Lite::Report::Record < Lite::Report::Base
56
64
  super
57
65
  end
58
66
 
67
+ def timestamp
68
+ @timestamp ||= Time.try(:current) || Time.now
69
+ end
70
+
71
+ def created_at_timestamp?
72
+ return @created_at_timestamp if defined?(@created_at_timestamp)
73
+
74
+ @created_at_timestamp = klass.new.respond_to?(:created_at)
75
+ end
76
+
77
+ def updated_at_timestamp?
78
+ return @updated_at_timestamp if defined?(@updated_at_timestamp)
79
+
80
+ @updated_at_timestamp = klass.new.respond_to?(:updated_at)
81
+ end
82
+
59
83
  end
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Report
5
5
 
6
- VERSION ||= '1.0.5'
6
+ VERSION = '1.2.0'
7
7
 
8
8
  end
9
9
  end
data/lite-report.gemspec CHANGED
@@ -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.
@@ -38,8 +38,6 @@ Gem::Specification.new do |spec|
38
38
  spec.require_paths = %w[lib]
39
39
 
40
40
  spec.add_runtime_dependency 'activerecord'
41
- spec.add_runtime_dependency 'activerecord-import'
42
- spec.add_runtime_dependency 'deep_pluck'
43
41
 
44
42
  spec.add_development_dependency 'bundler'
45
43
  spec.add_development_dependency 'database_cleaner'
@@ -51,6 +49,7 @@ Gem::Specification.new do |spec|
51
49
  spec.add_development_dependency 'rspec-rails'
52
50
  spec.add_development_dependency 'rubocop'
53
51
  spec.add_development_dependency 'rubocop-performance'
52
+ spec.add_development_dependency 'rubocop-rake'
54
53
  spec.add_development_dependency 'rubocop-rspec'
55
54
  spec.add_development_dependency 'sqlite3'
56
55
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lite-report
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.2.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-07-03 00:00:00.000000000 Z
11
+ date: 2021-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -25,27 +25,13 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activerecord-import
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: deep_pluck
28
+ name: bundler
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
33
  version: '0'
48
- type: :runtime
34
+ type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
@@ -53,7 +39,7 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: bundler
42
+ name: database_cleaner
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -67,7 +53,7 @@ dependencies:
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: database_cleaner
56
+ name: fasterer
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: fasterer
70
+ name: generator_spec
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: generator_spec
84
+ name: rake
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -109,7 +95,7 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: rake
98
+ name: ransack
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
@@ -123,7 +109,7 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
- name: ransack
112
+ name: rspec
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - ">="
@@ -137,7 +123,7 @@ dependencies:
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
- name: rspec
126
+ name: rspec-rails
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - ">="
@@ -151,7 +137,7 @@ dependencies:
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
- name: rspec-rails
140
+ name: rubocop
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - ">="
@@ -165,7 +151,7 @@ dependencies:
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  - !ruby/object:Gem::Dependency
168
- name: rubocop
154
+ name: rubocop-performance
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - ">="
@@ -179,7 +165,7 @@ dependencies:
179
165
  - !ruby/object:Gem::Version
180
166
  version: '0'
181
167
  - !ruby/object:Gem::Dependency
182
- name: rubocop-performance
168
+ name: rubocop-rake
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - ">="
@@ -249,6 +235,7 @@ files:
249
235
  - lib/lite/report/array.rb
250
236
  - lib/lite/report/base.rb
251
237
  - lib/lite/report/configuration.rb
238
+ - lib/lite/report/exporter.rb
252
239
  - lib/lite/report/hash.rb
253
240
  - lib/lite/report/helpers/converters.rb
254
241
  - lib/lite/report/helpers/encoders.rb
@@ -279,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
266
  - !ruby/object:Gem::Version
280
267
  version: '0'
281
268
  requirements: []
282
- rubygems_version: 3.1.4
269
+ rubygems_version: 3.2.24
283
270
  signing_key:
284
271
  specification_version: 4
285
272
  summary: Import and export Ruby and Rails objects to flat files and vice versa