adhoq 1.0.3 → 1.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/app/helpers/adhoq/application_helper.rb +6 -1
- data/lib/adhoq/configuration.rb +13 -23
- data/lib/adhoq/engine.rb +1 -1
- data/lib/adhoq/version.rb +1 -1
- data/spec/spec_helper.rb +17 -2
- data/spec/support/activejob_helper.rb +0 -3
- data/spec/support/have_values_in_xlsx_sheet_matcher.rb +9 -1
- metadata +45 -33
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40ba2ad8e22cbe7a16e1229fb6d2f286a458e24ca78c35665d0d30bc49c16f83
|
|
4
|
+
data.tar.gz: 7f89537dc3267a177445faffccfd5f7bc648886b2199c48d46c5fb53ee631b0a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 495016c28fdaafcd340f0dfab74854ce2e0a79baa28bd68ef3bb5303ba889a967522b98d19bc4c5a33f5bd156a0d42aaf1d02801947a02601191da4d41d12ac1
|
|
7
|
+
data.tar.gz: 10ec04f16e9348c57f43cbeb2c4fd246fb953985d13c1fd09bae524a9c9eff72a3c9cf8029cc439ede00b70d6aa9b0be17b6637492aad67595577807e1b8b898
|
|
@@ -14,7 +14,12 @@ module Adhoq
|
|
|
14
14
|
|
|
15
15
|
def schema_version
|
|
16
16
|
connection = Adhoq::Executor::ConnectionWrapper.new
|
|
17
|
-
|
|
17
|
+
table = if ActiveRecord::SchemaMigration.respond_to?(:table_name)
|
|
18
|
+
ActiveRecord::SchemaMigration.table_name # Rails <= 7.0
|
|
19
|
+
else
|
|
20
|
+
"schema_migrations" # Rails 7.1+ (instance-based API)
|
|
21
|
+
end
|
|
22
|
+
result = connection.select("SELECT MAX(version) AS current_version FROM #{table}")
|
|
18
23
|
result.rows.first.first
|
|
19
24
|
end
|
|
20
25
|
|
data/lib/adhoq/configuration.rb
CHANGED
|
@@ -1,30 +1,20 @@
|
|
|
1
|
-
# see https://github.com/amatsuda/kaminari/blob/master/lib/kaminari/config.rb
|
|
2
1
|
module Adhoq
|
|
3
2
|
class Configuration
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
config_accessor :current_user
|
|
18
|
-
|
|
19
|
-
config_accessor :database_connection
|
|
20
|
-
config_accessor :hidden_model_names
|
|
21
|
-
config_accessor :hide_rows_count
|
|
22
|
-
|
|
23
|
-
config_accessor :async_execution
|
|
24
|
-
config_accessor :job_queue_name
|
|
3
|
+
class_attribute :storage
|
|
4
|
+
self.storage = [:on_the_fly]
|
|
5
|
+
class_attribute :base_controller
|
|
6
|
+
self.base_controller = 'ApplicationController'
|
|
7
|
+
class_attribute :authorization
|
|
8
|
+
class_attribute :authorization_failure_action
|
|
9
|
+
class_attribute :current_user
|
|
10
|
+
class_attribute :database_connection
|
|
11
|
+
class_attribute :hidden_model_names
|
|
12
|
+
class_attribute :hide_rows_count
|
|
13
|
+
class_attribute :async_execution
|
|
14
|
+
class_attribute :job_queue_name
|
|
25
15
|
|
|
26
16
|
def callablize(name)
|
|
27
|
-
if (c =
|
|
17
|
+
if (c = public_send(name)).respond_to?(:call)
|
|
28
18
|
c
|
|
29
19
|
else
|
|
30
20
|
c.to_proc
|
data/lib/adhoq/engine.rb
CHANGED
data/lib/adhoq/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
|
@@ -4,15 +4,30 @@ require_relative 'dummy/config/environment'
|
|
|
4
4
|
require 'rspec/rails'
|
|
5
5
|
|
|
6
6
|
require 'capybara/rspec'
|
|
7
|
-
require '
|
|
7
|
+
require 'selenium-webdriver'
|
|
8
8
|
require 'database_cleaner'
|
|
9
9
|
require 'factory_bot_rails'
|
|
10
10
|
require 'pry-byebug'
|
|
11
11
|
|
|
12
|
+
# factory_bot_rails 6.x resolves factory paths relative to Rails.root
|
|
13
|
+
# (spec/dummy) and calls find_definitions during after_initialize, before
|
|
14
|
+
# spec_helper continues. Re-add the gem root's spec/factories and reload.
|
|
15
|
+
FactoryBot.definition_file_paths.unshift File.expand_path('factories', __dir__)
|
|
16
|
+
FactoryBot.reload
|
|
17
|
+
|
|
12
18
|
Rails.backtrace_cleaner.remove_silencers!
|
|
13
19
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f }
|
|
14
20
|
|
|
15
|
-
Capybara.
|
|
21
|
+
Capybara.register_driver :chrome_headless do |app|
|
|
22
|
+
options = Selenium::WebDriver::Chrome::Options.new
|
|
23
|
+
options.add_argument('--headless=new')
|
|
24
|
+
options.add_argument('--no-sandbox')
|
|
25
|
+
options.add_argument('--disable-dev-shm-usage')
|
|
26
|
+
options.add_argument('--disable-gpu')
|
|
27
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
Capybara.default_driver = :chrome_headless
|
|
16
31
|
|
|
17
32
|
RSpec.configure do |config|
|
|
18
33
|
config.expect_with :rspec do |expectations|
|
|
@@ -10,17 +10,14 @@ RSpec.configure do |config|
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
config.around(:each, active_job_test_adapter: true) do |ex|
|
|
13
|
-
current_active_job_queue_adapter = Adhoq::Engine.config.active_job.queue_adapter
|
|
14
13
|
current_execute_job_queue_adapter = Adhoq::ExecuteJob.queue_adapter
|
|
15
14
|
|
|
16
|
-
Adhoq::Engine.config.active_job.queue_adapter = :test
|
|
17
15
|
Adhoq::ExecuteJob.queue_adapter = ActiveJob::QueueAdapters::TestAdapter.new
|
|
18
16
|
Adhoq::ExecuteJob.queue_adapter.perform_enqueued_jobs = true
|
|
19
17
|
|
|
20
18
|
ex.call
|
|
21
19
|
|
|
22
20
|
Adhoq::ExecuteJob.queue_adapter.performed_jobs.clear
|
|
23
|
-
Adhoq::Engine.config.active_job.queue_adapter = current_active_job_queue_adapter
|
|
24
21
|
Adhoq::ExecuteJob.queue_adapter = current_execute_job_queue_adapter
|
|
25
22
|
end
|
|
26
23
|
end
|
|
@@ -20,7 +20,15 @@ RSpec::Matchers.define :have_values_in_xlsx_sheet do |expect_values|
|
|
|
20
20
|
f.flush
|
|
21
21
|
|
|
22
22
|
sheet = SimpleXlsxReader::Document.new(f.path).sheets.first
|
|
23
|
-
|
|
23
|
+
if Gem::Version.new(SimpleXlsxReader::VERSION) < Gem::Version.new('2.0')
|
|
24
|
+
# simple_xlsx_reader 1.x: eager sheet.headers / sheet.data
|
|
25
|
+
[sheet.headers, *sheet.data]
|
|
26
|
+
else
|
|
27
|
+
# simple_xlsx_reader 2.x+: rows is lazy; use #each (safe without slurp)
|
|
28
|
+
all_rows = []
|
|
29
|
+
sheet.rows.each { |row| all_rows << row }
|
|
30
|
+
[all_rows.first, *all_rows[1..-1]]
|
|
31
|
+
end
|
|
24
32
|
end
|
|
25
33
|
end
|
|
26
34
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: adhoq
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kyosuke MOROHASHI
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rails
|
|
@@ -84,16 +83,16 @@ dependencies:
|
|
|
84
83
|
name: font-awesome-sass
|
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
|
86
85
|
requirements:
|
|
87
|
-
- - "
|
|
86
|
+
- - "~>"
|
|
88
87
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '4.
|
|
88
|
+
version: '4.7'
|
|
90
89
|
type: :runtime
|
|
91
90
|
prerelease: false
|
|
92
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
92
|
requirements:
|
|
94
|
-
- - "
|
|
93
|
+
- - "~>"
|
|
95
94
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '4.
|
|
95
|
+
version: '4.7'
|
|
97
96
|
- !ruby/object:Gem::Dependency
|
|
98
97
|
name: jquery-rails
|
|
99
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,7 +108,7 @@ dependencies:
|
|
|
109
108
|
- !ruby/object:Gem::Version
|
|
110
109
|
version: '0'
|
|
111
110
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
111
|
+
name: sass-rails
|
|
113
112
|
requirement: !ruby/object:Gem::Requirement
|
|
114
113
|
requirements:
|
|
115
114
|
- - ">="
|
|
@@ -154,16 +153,16 @@ dependencies:
|
|
|
154
153
|
name: capybara
|
|
155
154
|
requirement: !ruby/object:Gem::Requirement
|
|
156
155
|
requirements:
|
|
157
|
-
- - "
|
|
156
|
+
- - ">="
|
|
158
157
|
- !ruby/object:Gem::Version
|
|
159
|
-
version:
|
|
158
|
+
version: '3.0'
|
|
160
159
|
type: :development
|
|
161
160
|
prerelease: false
|
|
162
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
162
|
requirements:
|
|
164
|
-
- - "
|
|
163
|
+
- - ">="
|
|
165
164
|
- !ruby/object:Gem::Version
|
|
166
|
-
version:
|
|
165
|
+
version: '3.0'
|
|
167
166
|
- !ruby/object:Gem::Dependency
|
|
168
167
|
name: database_cleaner
|
|
169
168
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,16 +181,16 @@ dependencies:
|
|
|
182
181
|
name: factory_bot_rails
|
|
183
182
|
requirement: !ruby/object:Gem::Requirement
|
|
184
183
|
requirements:
|
|
185
|
-
- - "
|
|
184
|
+
- - ">="
|
|
186
185
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 4.11
|
|
186
|
+
version: '4.11'
|
|
188
187
|
type: :development
|
|
189
188
|
prerelease: false
|
|
190
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
190
|
requirements:
|
|
192
|
-
- - "
|
|
191
|
+
- - ">="
|
|
193
192
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: 4.11
|
|
193
|
+
version: '4.11'
|
|
195
194
|
- !ruby/object:Gem::Dependency
|
|
196
195
|
name: launchy
|
|
197
196
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -207,21 +206,21 @@ dependencies:
|
|
|
207
206
|
- !ruby/object:Gem::Version
|
|
208
207
|
version: '0'
|
|
209
208
|
- !ruby/object:Gem::Dependency
|
|
210
|
-
name:
|
|
209
|
+
name: pry-byebug
|
|
211
210
|
requirement: !ruby/object:Gem::Requirement
|
|
212
211
|
requirements:
|
|
213
|
-
- - "
|
|
212
|
+
- - ">="
|
|
214
213
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
214
|
+
version: '0'
|
|
216
215
|
type: :development
|
|
217
216
|
prerelease: false
|
|
218
217
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
218
|
requirements:
|
|
220
|
-
- - "
|
|
219
|
+
- - ">="
|
|
221
220
|
- !ruby/object:Gem::Version
|
|
222
|
-
version:
|
|
221
|
+
version: '0'
|
|
223
222
|
- !ruby/object:Gem::Dependency
|
|
224
|
-
name:
|
|
223
|
+
name: puma
|
|
225
224
|
requirement: !ruby/object:Gem::Requirement
|
|
226
225
|
requirements:
|
|
227
226
|
- - ">="
|
|
@@ -248,6 +247,20 @@ dependencies:
|
|
|
248
247
|
- - ">="
|
|
249
248
|
- !ruby/object:Gem::Version
|
|
250
249
|
version: '0'
|
|
250
|
+
- !ruby/object:Gem::Dependency
|
|
251
|
+
name: selenium-webdriver
|
|
252
|
+
requirement: !ruby/object:Gem::Requirement
|
|
253
|
+
requirements:
|
|
254
|
+
- - ">="
|
|
255
|
+
- !ruby/object:Gem::Version
|
|
256
|
+
version: '3.0'
|
|
257
|
+
type: :development
|
|
258
|
+
prerelease: false
|
|
259
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
260
|
+
requirements:
|
|
261
|
+
- - ">="
|
|
262
|
+
- !ruby/object:Gem::Version
|
|
263
|
+
version: '3.0'
|
|
251
264
|
- !ruby/object:Gem::Dependency
|
|
252
265
|
name: simple_xlsx_reader
|
|
253
266
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -468,8 +481,8 @@ files:
|
|
|
468
481
|
homepage: https://github.com/esminc/adhoq
|
|
469
482
|
licenses:
|
|
470
483
|
- MIT
|
|
471
|
-
metadata:
|
|
472
|
-
|
|
484
|
+
metadata:
|
|
485
|
+
rubygems_mfa_required: 'true'
|
|
473
486
|
rdoc_options: []
|
|
474
487
|
require_paths:
|
|
475
488
|
- lib
|
|
@@ -484,23 +497,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
484
497
|
- !ruby/object:Gem::Version
|
|
485
498
|
version: '0'
|
|
486
499
|
requirements: []
|
|
487
|
-
rubygems_version: 3.
|
|
488
|
-
signing_key:
|
|
500
|
+
rubygems_version: 3.6.9
|
|
489
501
|
specification_version: 4
|
|
490
502
|
summary: DB management console in the wild.
|
|
491
503
|
test_files:
|
|
492
|
-
- spec/adhoq/
|
|
504
|
+
- spec/adhoq/executor/connection_wrapper_spec.rb
|
|
505
|
+
- spec/adhoq/executor_spec.rb
|
|
506
|
+
- spec/adhoq/global_variable_spec.rb
|
|
493
507
|
- spec/adhoq/reporter/csv_spec.rb
|
|
508
|
+
- spec/adhoq/reporter/json_spec.rb
|
|
494
509
|
- spec/adhoq/reporter/xlsx_spec.rb
|
|
495
510
|
- spec/adhoq/storage_spec.rb
|
|
496
|
-
- spec/adhoq/executor_spec.rb
|
|
497
|
-
- spec/adhoq/executor/connection_wrapper_spec.rb
|
|
498
|
-
- spec/adhoq/global_variable_spec.rb
|
|
499
511
|
- spec/factories/adhoq_queries.rb
|
|
500
|
-
- spec/models/adhoq/report_spec.rb
|
|
501
512
|
- spec/models/adhoq/execution_spec.rb
|
|
502
513
|
- spec/models/adhoq/query_spec.rb
|
|
503
|
-
- spec/
|
|
514
|
+
- spec/models/adhoq/report_spec.rb
|
|
515
|
+
- spec/spec_helper.rb
|
|
504
516
|
- spec/support/activejob_helper.rb
|
|
517
|
+
- spec/support/feature_spec_helper.rb
|
|
505
518
|
- spec/support/have_values_in_xlsx_sheet_matcher.rb
|
|
506
|
-
- spec/spec_helper.rb
|