data_taster 0.4.2 → 0.5.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.
data/lib/data_taster.rb CHANGED
@@ -5,13 +5,23 @@ require "logger"
5
5
  module DataTaster
6
6
  autoload :Collection, "data_taster/collection"
7
7
  autoload :Confection, "data_taster/confection"
8
+ autoload :DatabaseOutput, "data_taster/adapters/database_output"
8
9
  autoload :Detergent, "data_taster/detergent"
10
+ autoload :ExportContext, "data_taster/export_context"
11
+ autoload :FileOutput, "data_taster/adapters/file_output"
9
12
  autoload :Helper, "data_taster/helper"
10
- autoload :Sample, "data_taster/sample"
13
+ autoload :MysqlSource, "data_taster/adapters/mysql_source"
14
+ autoload :Output, "data_taster/adapters/output"
15
+ autoload :SanitizerExporter, "data_taster/sanitizer_exporter"
11
16
  autoload :Sanitizer, "data_taster/sanitizer"
17
+ autoload :SqlLiteral, "data_taster/sql_literal"
12
18
 
13
19
  SKIP_CODE = "skip_processing"
14
20
 
21
+ class << self
22
+ attr_accessor :config
23
+ end
24
+
15
25
  def self.logger=(logger)
16
26
  @logger = logger
17
27
  end
@@ -20,13 +30,18 @@ module DataTaster
20
30
  @logger ||= Logger.new($stdout)
21
31
  end
22
32
 
23
- def self.config(**args)
24
- @config ||= Config.new(
25
- args[:months],
26
- Array.wrap(args[:list] || Rails.root.glob("**/data_taster_export_tables.yml")),
27
- args[:source_client] || raise(ArgumentError, "DataTaster.config missing source_client"),
28
- args[:working_client] || raise(ArgumentError, "DataTaster.config missing working_client"),
29
- args[:include_insert] || false
33
+ def self.reset!
34
+ # TODO: Turn this into objects
35
+ self.config = nil
36
+ @confection = nil
37
+ end
38
+
39
+ def self.setup(source:, output:, months: nil, list: nil)
40
+ self.config = Config.new(
41
+ source,
42
+ output,
43
+ months,
44
+ Array.wrap(list || default_list)
30
45
  )
31
46
  end
32
47
 
@@ -35,25 +50,16 @@ module DataTaster
35
50
  end
36
51
 
37
52
  def self.sample!
38
- DataTaster
39
- .config
40
- .source_client
41
- .query("SHOW tables").collect { |t| t[t.keys.first] }
42
- .each do |table_name|
43
- DataTaster::Sample.new(table_name).serve!
44
- end
45
- end
46
-
47
- def self.safe_execute(sql, client = DataTaster.config.working_client)
48
- foreign_key_check = client.query("SELECT @@FOREIGN_KEY_CHECKS").first["@@FOREIGN_KEY_CHECKS"]
49
-
50
- begin
51
- client.query("SET FOREIGN_KEY_CHECKS=0")
52
- client.query(sql)
53
- ensure
54
- client.query("SET FOREIGN_KEY_CHECKS=#{foreign_key_check};")
53
+ config.output.sample!
54
+ end
55
+
56
+ def self.default_list
57
+ if defined?(Rails) && Rails.respond_to?(:root)
58
+ Rails.root.glob("**/data_taster_export_tables.yml")
59
+ else
60
+ []
55
61
  end
56
62
  end
57
63
 
58
- Config = Struct.new(:months, :list, :source_client, :working_client, :include_insert)
64
+ Config = Struct.new(:source, :output, :months, :list)
59
65
  end
data/sig/data_taster.rbs CHANGED
@@ -1,4 +1,69 @@
1
1
  module DataTaster
2
2
  VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
3
+ SKIP_CODE: String
4
+
5
+ type export_mode = :file | :database
6
+
7
+ def self.setup: (source: MysqlSource, output: Output, ?months: Integer?, ?list: Array[String]?) -> void
8
+ def self.config: () -> Config
9
+ def self.config=: (Config?) -> void
10
+ def self.sample!: () -> void
11
+ def self.reset!: () -> void
12
+ def self.confection: () -> Hash[String, untyped]
13
+ def self.logger: () -> ::Logger
14
+ def self.logger=: (::Logger) -> void
15
+ class MysqlSource
16
+ attr_reader source_client: untyped
17
+
18
+ def initialize: (source_client: untyped) -> void
19
+ def query: (String sql) -> untyped
20
+ def database: () -> String
21
+ def table_names: () -> Array[String]
22
+ end
23
+
24
+ class Output
25
+ def initialize: (**untyped) -> void
26
+ def sample!: () -> void
27
+ def export_mode: () -> export_mode
28
+ def target_database: () -> String
29
+ def qualified_table_name: (String table_name) -> String
30
+ def write_statement: (String sql) -> void
31
+ def write_raw: (String line) -> void
32
+ end
33
+
34
+ class DatabaseOutput < Output
35
+ attr_reader target_client: untyped
36
+
37
+ def import_table: (Collection collection, String table_name) -> void
38
+ end
39
+
40
+ class ExportContext
41
+ def self.quote_ident: (String | Symbol name) -> String
42
+ def initialize: (String table_name, Hash[String, untyped]? sanitize, ?insert_table_name: String?, ?column_types: Hash[String, String]) -> void
43
+ def insert_table_name: () -> String
44
+ def format_row_tuple: (Array[String | Symbol] columns, Hash[String, untyped] row, untyped client) -> String
45
+ end
46
+
47
+ class Sanitizer
48
+ BATCH_SIZE: Integer
49
+ def export_sanitized_rows: (Collection collection, insert_table_name: String) { (String header, String values) -> void } -> void
50
+ end
51
+
52
+ class FileOutput < Output
53
+ attr_reader path: String
54
+ attr_reader target_database: String
55
+ end
56
+
57
+ class Collection
58
+ def initialize: (String table_name) -> void
59
+ def assemble: () -> Hash[Symbol, untyped]
60
+ def export_select_sql: () -> String
61
+ end
62
+
63
+ Config = struct {
64
+ source: MysqlSource,
65
+ output: Output,
66
+ months: Integer?,
67
+ list: Array[String],
68
+ }
4
69
  end
metadata CHANGED
@@ -1,43 +1,34 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_taster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jill Klang
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-02-27 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: nokogiri
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">"
18
- - !ruby/object:Gem::Version
19
- version: 1.14.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">"
25
- - !ruby/object:Gem::Version
26
- version: 1.14.0
27
12
  - !ruby/object:Gem::Dependency
28
13
  name: rails
29
14
  requirement: !ruby/object:Gem::Requirement
30
15
  requirements:
31
16
  - - ">="
32
17
  - !ruby/object:Gem::Version
33
- version: '6.0'
18
+ version: '6.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '8'
34
22
  type: :runtime
35
23
  prerelease: false
36
24
  version_requirements: !ruby/object:Gem::Requirement
37
25
  requirements:
38
26
  - - ">="
39
27
  - !ruby/object:Gem::Version
40
- version: '6.0'
28
+ version: '6.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '8'
41
32
  - !ruby/object:Gem::Dependency
42
33
  name: license_finder
43
34
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +71,34 @@ dependencies:
80
71
  - - "~>"
81
72
  - !ruby/object:Gem::Version
82
73
  version: '2.1'
74
+ - !ruby/object:Gem::Dependency
75
+ name: combustion
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.3'
81
+ type: :development
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.3'
88
+ - !ruby/object:Gem::Dependency
89
+ name: mysql2
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - '='
93
+ - !ruby/object:Gem::Version
94
+ version: 0.5.5
95
+ type: :development
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - '='
100
+ - !ruby/object:Gem::Version
101
+ version: 0.5.5
83
102
  - !ruby/object:Gem::Dependency
84
103
  name: parser
85
104
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +125,14 @@ dependencies:
106
125
  requirements:
107
126
  - - '='
108
127
  - !ruby/object:Gem::Version
109
- version: 2.2.2
128
+ version: 3.1.1
110
129
  type: :development
111
130
  prerelease: false
112
131
  version_requirements: !ruby/object:Gem::Requirement
113
132
  requirements:
114
133
  - - '='
115
134
  - !ruby/object:Gem::Version
116
- version: 2.2.2
135
+ version: 3.1.1
117
136
  - !ruby/object:Gem::Dependency
118
137
  name: rake
119
138
  requirement: !ruby/object:Gem::Requirement
@@ -176,14 +195,14 @@ dependencies:
176
195
  requirements:
177
196
  - - '='
178
197
  - !ruby/object:Gem::Version
179
- version: 0.9.34
198
+ version: 0.9.38
180
199
  type: :development
181
200
  prerelease: false
182
201
  version_requirements: !ruby/object:Gem::Requirement
183
202
  requirements:
184
203
  - - '='
185
204
  - !ruby/object:Gem::Version
186
- version: 0.9.34
205
+ version: 0.9.38
187
206
  description: Export, sanitize, and import data to help develop better apps.
188
207
  email:
189
208
  - jillian.emilie@gmail.com
@@ -197,24 +216,29 @@ files:
197
216
  - Gemfile.lock
198
217
  - LICENSE.txt
199
218
  - Rakefile
219
+ - config.ru
200
220
  - doc/dependency_decisions.yml
201
221
  - docs/CHANGELOG.md
202
222
  - docs/README.md
203
223
  - gemfiles/.bundle/config
204
- - gemfiles/rails_6_0.gemfile
205
- - gemfiles/rails_6_0.gemfile.lock
206
- - gemfiles/rails_6_1.gemfile
207
- - gemfiles/rails_6_1.gemfile.lock
208
- - gemfiles/rails_7_0.gemfile
209
- - gemfiles/rails_7_0.gemfile.lock
224
+ - gemfiles/rails_7_1.gemfile
225
+ - gemfiles/rails_7_1.gemfile.lock
226
+ - gemfiles/rails_7_2.gemfile
227
+ - gemfiles/rails_7_2.gemfile.lock
210
228
  - lib/data_taster.rb
229
+ - lib/data_taster/adapters/database_output.rb
230
+ - lib/data_taster/adapters/file_output.rb
231
+ - lib/data_taster/adapters/mysql_source.rb
232
+ - lib/data_taster/adapters/output.rb
211
233
  - lib/data_taster/collection.rb
212
234
  - lib/data_taster/confection.rb
213
235
  - lib/data_taster/detergent.rb
236
+ - lib/data_taster/export_context.rb
214
237
  - lib/data_taster/flavors.rb
215
238
  - lib/data_taster/helper.rb
216
- - lib/data_taster/sample.rb
217
239
  - lib/data_taster/sanitizer.rb
240
+ - lib/data_taster/sanitizer_exporter.rb
241
+ - lib/data_taster/sql_literal.rb
218
242
  - lib/data_taster/version.rb
219
243
  - mkdocs.yml
220
244
  - sig/data_taster.rbs
@@ -226,7 +250,6 @@ metadata:
226
250
  homepage_uri: https://github.com/powerhome/power-tools
227
251
  source_code_uri: https://github.com/powerhome/power-tools
228
252
  changelog_uri: https://github.com/powerhome/power-tools/blob/main/packages/data_taster/docs/CHANGELOG.md
229
- post_install_message:
230
253
  rdoc_options: []
231
254
  require_paths:
232
255
  - lib
@@ -241,8 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
264
  - !ruby/object:Gem::Version
242
265
  version: '0'
243
266
  requirements: []
244
- rubygems_version: 3.5.22
245
- signing_key:
267
+ rubygems_version: 3.6.9
246
268
  specification_version: 4
247
269
  summary: Delicious and sanitized data samples for development and testing.
248
270
  test_files: []
@@ -1,12 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "< 7.2.0"
6
- gem "net-imap", "< 0.5.0"
7
- gem "rubocop-powerhome", path: "../../rubocop-powerhome", tag: "v0.5.2-rubocop-powerhome"
8
- gem "securerandom", "< 0.4.0"
9
- gem "zeitwerk", "< 2.7.0"
10
- gem "rails", "6.0.6.1"
11
-
12
- gemspec path: "../"
@@ -1,271 +0,0 @@
1
- PATH
2
- remote: ../../rubocop-powerhome
3
- specs:
4
- rubocop-powerhome (0.5.3)
5
- rubocop (= 1.66.1)
6
- rubocop-performance
7
- rubocop-rails
8
- rubocop-rake
9
- rubocop-rspec
10
-
11
- PATH
12
- remote: ..
13
- specs:
14
- data_taster (0.4.2)
15
- nokogiri (> 1.14.0)
16
- rails (>= 6.0)
17
-
18
- GEM
19
- remote: https://rubygems.org/
20
- specs:
21
- actioncable (6.0.6.1)
22
- actionpack (= 6.0.6.1)
23
- nio4r (~> 2.0)
24
- websocket-driver (>= 0.6.1)
25
- actionmailbox (6.0.6.1)
26
- actionpack (= 6.0.6.1)
27
- activejob (= 6.0.6.1)
28
- activerecord (= 6.0.6.1)
29
- activestorage (= 6.0.6.1)
30
- activesupport (= 6.0.6.1)
31
- mail (>= 2.7.1)
32
- actionmailer (6.0.6.1)
33
- actionpack (= 6.0.6.1)
34
- actionview (= 6.0.6.1)
35
- activejob (= 6.0.6.1)
36
- mail (~> 2.5, >= 2.5.4)
37
- rails-dom-testing (~> 2.0)
38
- actionpack (6.0.6.1)
39
- actionview (= 6.0.6.1)
40
- activesupport (= 6.0.6.1)
41
- rack (~> 2.0, >= 2.0.8)
42
- rack-test (>= 0.6.3)
43
- rails-dom-testing (~> 2.0)
44
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
45
- actiontext (6.0.6.1)
46
- actionpack (= 6.0.6.1)
47
- activerecord (= 6.0.6.1)
48
- activestorage (= 6.0.6.1)
49
- activesupport (= 6.0.6.1)
50
- nokogiri (>= 1.8.5)
51
- actionview (6.0.6.1)
52
- activesupport (= 6.0.6.1)
53
- builder (~> 3.1)
54
- erubi (~> 1.4)
55
- rails-dom-testing (~> 2.0)
56
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
57
- activejob (6.0.6.1)
58
- activesupport (= 6.0.6.1)
59
- globalid (>= 0.3.6)
60
- activemodel (6.0.6.1)
61
- activesupport (= 6.0.6.1)
62
- activerecord (6.0.6.1)
63
- activemodel (= 6.0.6.1)
64
- activesupport (= 6.0.6.1)
65
- activestorage (6.0.6.1)
66
- actionpack (= 6.0.6.1)
67
- activejob (= 6.0.6.1)
68
- activerecord (= 6.0.6.1)
69
- marcel (~> 1.0)
70
- activesupport (6.0.6.1)
71
- concurrent-ruby (~> 1.0, >= 1.0.2)
72
- i18n (>= 0.7, < 2)
73
- minitest (~> 5.1)
74
- tzinfo (~> 1.1)
75
- zeitwerk (~> 2.2, >= 2.2.2)
76
- appraisal (2.5.0)
77
- bundler
78
- rake
79
- thor (>= 0.14.0)
80
- ast (2.4.2)
81
- builder (3.3.0)
82
- concurrent-ruby (1.3.4)
83
- crass (1.0.6)
84
- csv (3.3.1)
85
- date (3.4.1)
86
- diff-lcs (1.5.1)
87
- docile (1.1.5)
88
- erubi (1.13.0)
89
- globalid (1.1.0)
90
- activesupport (>= 5.0)
91
- i18n (1.14.6)
92
- concurrent-ruby (~> 1.0)
93
- json (2.9.0)
94
- language_server-protocol (3.17.0.3)
95
- license_finder (7.2.1)
96
- bundler
97
- csv (~> 3.2)
98
- rubyzip (>= 1, < 3)
99
- thor (~> 1.2)
100
- tomlrb (>= 1.3, < 2.1)
101
- with_env (= 1.1.0)
102
- xml-simple (~> 1.1.9)
103
- loofah (2.23.1)
104
- crass (~> 1.0.2)
105
- nokogiri (>= 1.12.0)
106
- mail (2.8.1)
107
- mini_mime (>= 0.1.1)
108
- net-imap
109
- net-pop
110
- net-smtp
111
- marcel (1.0.4)
112
- method_source (1.1.0)
113
- mini_mime (1.1.5)
114
- mini_portile2 (2.8.8)
115
- minitest (5.25.4)
116
- net-imap (0.4.18)
117
- date
118
- net-protocol
119
- net-pop (0.1.2)
120
- net-protocol
121
- net-protocol (0.2.2)
122
- timeout
123
- net-smtp (0.5.0)
124
- net-protocol
125
- nio4r (2.7.4)
126
- nokogiri (1.17.2)
127
- mini_portile2 (~> 2.8.2)
128
- racc (~> 1.4)
129
- nokogiri (1.17.2-arm64-darwin)
130
- racc (~> 1.4)
131
- nokogiri (1.17.2-x86_64-linux)
132
- racc (~> 1.4)
133
- parallel (1.26.3)
134
- parser (3.3.6.0)
135
- ast (~> 2.4.1)
136
- racc
137
- power_assert (2.0.4)
138
- racc (1.8.1)
139
- rack (2.2.10)
140
- rack-test (2.1.0)
141
- rack (>= 1.3)
142
- rails (6.0.6.1)
143
- actioncable (= 6.0.6.1)
144
- actionmailbox (= 6.0.6.1)
145
- actionmailer (= 6.0.6.1)
146
- actionpack (= 6.0.6.1)
147
- actiontext (= 6.0.6.1)
148
- actionview (= 6.0.6.1)
149
- activejob (= 6.0.6.1)
150
- activemodel (= 6.0.6.1)
151
- activerecord (= 6.0.6.1)
152
- activestorage (= 6.0.6.1)
153
- activesupport (= 6.0.6.1)
154
- bundler (>= 1.3.0)
155
- railties (= 6.0.6.1)
156
- sprockets-rails (>= 2.0.0)
157
- rails-dom-testing (2.2.0)
158
- activesupport (>= 5.0.0)
159
- minitest
160
- nokogiri (>= 1.6)
161
- rails-html-sanitizer (1.6.2)
162
- loofah (~> 2.21)
163
- nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
164
- railties (6.0.6.1)
165
- actionpack (= 6.0.6.1)
166
- activesupport (= 6.0.6.1)
167
- method_source
168
- rake (>= 0.8.7)
169
- thor (>= 0.20.3, < 2.0)
170
- rainbow (2.2.2)
171
- rake
172
- rake (13.2.1)
173
- regexp_parser (2.9.3)
174
- rexml (3.4.0)
175
- rspec (3.13.0)
176
- rspec-core (~> 3.13.0)
177
- rspec-expectations (~> 3.13.0)
178
- rspec-mocks (~> 3.13.0)
179
- rspec-core (3.13.2)
180
- rspec-support (~> 3.13.0)
181
- rspec-expectations (3.13.3)
182
- diff-lcs (>= 1.2.0, < 2.0)
183
- rspec-support (~> 3.13.0)
184
- rspec-mocks (3.13.2)
185
- diff-lcs (>= 1.2.0, < 2.0)
186
- rspec-support (~> 3.13.0)
187
- rspec-support (3.13.2)
188
- rubocop (1.66.1)
189
- json (~> 2.3)
190
- language_server-protocol (>= 3.17.0)
191
- parallel (~> 1.10)
192
- parser (>= 3.3.0.2)
193
- rainbow (>= 2.2.2, < 4.0)
194
- regexp_parser (>= 2.4, < 3.0)
195
- rubocop-ast (>= 1.32.2, < 2.0)
196
- ruby-progressbar (~> 1.7)
197
- unicode-display_width (>= 2.4.0, < 3.0)
198
- rubocop-ast (1.37.0)
199
- parser (>= 3.3.1.0)
200
- rubocop-performance (1.23.0)
201
- rubocop (>= 1.48.1, < 2.0)
202
- rubocop-ast (>= 1.31.1, < 2.0)
203
- rubocop-rails (2.27.0)
204
- activesupport (>= 4.2.0)
205
- rack (>= 1.1)
206
- rubocop (>= 1.52.0, < 2.0)
207
- rubocop-ast (>= 1.31.1, < 2.0)
208
- rubocop-rake (0.6.0)
209
- rubocop (~> 1.0)
210
- rubocop-rspec (3.3.0)
211
- rubocop (~> 1.61)
212
- ruby-progressbar (1.13.0)
213
- rubyzip (2.3.2)
214
- securerandom (0.3.2)
215
- simplecov (0.15.1)
216
- docile (~> 1.1.0)
217
- json (>= 1.8, < 3)
218
- simplecov-html (~> 0.10.0)
219
- simplecov-html (0.10.2)
220
- sprockets (4.2.1)
221
- concurrent-ruby (~> 1.0)
222
- rack (>= 2.2.4, < 4)
223
- sprockets-rails (3.4.2)
224
- actionpack (>= 5.2)
225
- activesupport (>= 5.2)
226
- sprockets (>= 3.0.0)
227
- test-unit (3.1.5)
228
- power_assert
229
- thor (1.3.2)
230
- thread_safe (0.3.6)
231
- timeout (0.4.3)
232
- tomlrb (2.0.3)
233
- tzinfo (1.2.11)
234
- thread_safe (~> 0.1)
235
- unicode-display_width (2.6.0)
236
- websocket-driver (0.7.6)
237
- websocket-extensions (>= 0.1.0)
238
- websocket-extensions (0.1.5)
239
- with_env (1.1.0)
240
- xml-simple (1.1.9)
241
- rexml
242
- yard (0.9.34)
243
- zeitwerk (2.6.18)
244
-
245
- PLATFORMS
246
- arm64-darwin-22
247
- arm64-darwin-23
248
- ruby
249
- x86_64-linux
250
-
251
- DEPENDENCIES
252
- activesupport (< 7.2.0)
253
- appraisal (= 2.5.0)
254
- bundler (~> 2.1)
255
- data_taster!
256
- license_finder (~> 7.0)
257
- net-imap (< 0.5.0)
258
- parser (>= 2.5, != 2.5.1.1)
259
- rails (= 6.0.6.1)
260
- rainbow (= 2.2.2)
261
- rake (~> 13.0)
262
- rspec (~> 3.0)
263
- rubocop-powerhome!
264
- securerandom (< 0.4.0)
265
- simplecov (= 0.15.1)
266
- test-unit (= 3.1.5)
267
- yard (= 0.9.34)
268
- zeitwerk (< 2.7.0)
269
-
270
- BUNDLED WITH
271
- 2.5.23
@@ -1,12 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "< 7.2.0"
6
- gem "net-imap", "< 0.5.0"
7
- gem "rubocop-powerhome", path: "../../rubocop-powerhome", tag: "v0.5.2-rubocop-powerhome"
8
- gem "securerandom", "< 0.4.0"
9
- gem "zeitwerk", "< 2.7.0"
10
- gem "rails", "6.1.7.7"
11
-
12
- gemspec path: "../"