lite-report 1.0.6 → 1.3.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: b94708f3ef60f8780c0444e9ea75767073b8c6e93ca3ec2259d3d9fab20f4e3f
4
- data.tar.gz: c47f0fcc4a55fd85b52d479fab6b79f66c49ef7644fbd2eca93e1638142e2437
3
+ metadata.gz: 9036679cbf5e9c0087434882b116a86c3b15b7f227af5d1d797c4fcfed6ae5e4
4
+ data.tar.gz: 1e75ef8eb0a7ac4b288445ac4795cc28956da9ea723bf8d1aa1c7d428fc2402d
5
5
  SHA512:
6
- metadata.gz: ec0aaa4561df1d5ed44c48897aefc7580769936e6ece768679321c8208d43b1def9308982e9f3320b040bed9d2a98c5641ae8e381524c2b1a8d7c3e7a7b1eda4
7
- data.tar.gz: 278459ea22c634e0e38222af6b55031a4d02ed7831eb1f67ac625a136ee88e4e9543990c6b67266451e4f22928a29e76df81f4b4ca28c1a1f621ed9f1adbc9b7
6
+ metadata.gz: ed9d506a02de75f5edccd31e1f76890c4855a23863a737fadce59f4ea4a696e2da4c35bf3140096fdb1c0a405a0e8abd88fc4dc9d0fff9f7e36b02f440e8e90f
7
+ data.tar.gz: 1e38f4cf3c36b81eba6c603b47c2a8fffba07e3cc2c9a6558a9b99fb95266ae68da33cc10a219f02401f9a51542d2b4a609d51637d1b16cf86526216a0d6a3a9
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/BlockLength:
31
32
  - '*.gemspec'
32
33
  RSpec/ExampleLength:
33
34
  Enabled: false
35
+ Style/ArgumentsForwarding:
36
+ Enabled: false
34
37
  Style/ClassAndModuleChildren:
35
38
  Enabled: false
36
39
  Style/Documentation:
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.3.0] - 2021-07-19
10
+ ### Added
11
+ - Added Ruby 3.0 support
12
+
13
+ ## [1.2.0] - 2021-07-18
14
+ ### Removed
15
+ - Removed `activerecord-import` dependency
16
+ - Removed `deep_pluck` dependency
17
+
18
+ ## [1.1.1] - 2021-05-07
19
+ ### Changed
20
+ - Linter fixes
21
+
22
+ ## [1.1.0] - 2021-01-06
23
+ ### Added
24
+ - Added Exporter helper class
25
+ - Added rubocop-rake linter
26
+
9
27
  ## [1.0.6] - 2020-10-10
10
28
  ### Added
11
29
  - Added improved 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.6)
4
+ lite-report (1.3.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.4)
13
- actionview (= 6.0.3.4)
14
- activesupport (= 6.0.3.4)
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.4)
20
- activesupport (= 6.0.3.4)
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.4)
26
- activesupport (= 6.0.3.4)
27
- activerecord (6.0.3.4)
28
- activemodel (= 6.0.3.4)
29
- activesupport (= 6.0.3.4)
30
- activerecord-import (1.0.6)
31
- activerecord (>= 3.2)
32
- activesupport (6.0.3.4)
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.7)
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.5)
53
+ i18n (1.8.10)
57
54
  concurrent-ruby (~> 1.0)
58
- loofah (2.7.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.2)
64
- nokogiri (1.10.10)
65
- mini_portile2 (~> 2.4.0)
66
- parallel (1.19.2)
67
- parser (2.7.2.0)
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,71 +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.4)
84
- actionpack (= 6.0.3.4)
85
- activesupport (= 6.0.3.4)
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.8.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.3)
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.93.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.1.5)
113
+ parser (>= 3.0.0.0)
122
114
  rainbow (>= 2.2.2, < 4.0)
123
- regexp_parser (>= 1.8)
115
+ regexp_parser (>= 1.8, < 3.0)
124
116
  rexml
125
- rubocop-ast (>= 0.6.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.7.1)
129
- parser (>= 2.7.1.5)
130
- rubocop-performance (1.8.1)
131
- rubocop (>= 0.87.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)
132
124
  rubocop-ast (>= 0.4.0)
133
- rubocop-rspec (1.43.2)
134
- rubocop (~> 0.87)
135
- ruby-progressbar (1.10.1)
136
- ruby_parser (3.15.0)
137
- sexp_processor (~> 4.9)
138
- sexp_processor (4.15.1)
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)
139
134
  sqlite3 (1.4.2)
140
- thor (1.0.1)
141
- thread_safe (0.3.6)
142
- tzinfo (1.2.7)
143
- thread_safe (~> 0.1)
144
- unicode-display_width (1.7.0)
145
- zeitwerk (2.4.0)
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)
146
140
 
147
141
  PLATFORMS
148
142
  ruby
@@ -159,8 +153,9 @@ DEPENDENCIES
159
153
  rspec-rails
160
154
  rubocop
161
155
  rubocop-performance
156
+ rubocop-rake
162
157
  rubocop-rspec
163
158
  sqlite3
164
159
 
165
160
  BUNDLED WITH
166
- 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.6'
6
+ VERSION = '1.3.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.6
4
+ version: 1.3.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-10-11 00:00:00.000000000 Z
11
+ date: 2021-07-20 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