adhoq 1.0.3 → 1.0.4
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/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 +57 -32
- data/config/database.yml +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2b4f2dbea183de1d42177e7f32eabf10c1e270aee14f2f5afc70a65f97da4e97
|
|
4
|
+
data.tar.gz: a1f80b71b2a627fb2b95f96e50009a7c9c2e273e1d013df344bc0b8b49b80000
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a54ea5d1c58ce93b6854dcad36647f5fea3124bc6e0db3df656e6ced976d9fe560780d278c1def2e4a793b634cdf0e1ab599dd0c78216a9cfa3c8a784205feb2
|
|
7
|
+
data.tar.gz: 398a2dcee9ba0b781a69b1b1d66163d9d521d759701c34bd5de3aa5065a6546fbce7eda9eb67845364a55353fa4e3191fa9ed4ee4d97e3ae70c37eca8ab63599
|
|
@@ -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/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.0.4
|
|
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: 2026-04-14 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
|
|
@@ -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,35 @@ 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
|
|
224
|
+
requirement: !ruby/object:Gem::Requirement
|
|
225
|
+
requirements:
|
|
226
|
+
- - ">="
|
|
227
|
+
- !ruby/object:Gem::Version
|
|
228
|
+
version: '0'
|
|
229
|
+
type: :development
|
|
230
|
+
prerelease: false
|
|
231
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
232
|
+
requirements:
|
|
233
|
+
- - ">="
|
|
234
|
+
- !ruby/object:Gem::Version
|
|
235
|
+
version: '0'
|
|
236
|
+
- !ruby/object:Gem::Dependency
|
|
237
|
+
name: sass-rails
|
|
225
238
|
requirement: !ruby/object:Gem::Requirement
|
|
226
239
|
requirements:
|
|
227
240
|
- - ">="
|
|
@@ -248,6 +261,20 @@ dependencies:
|
|
|
248
261
|
- - ">="
|
|
249
262
|
- !ruby/object:Gem::Version
|
|
250
263
|
version: '0'
|
|
264
|
+
- !ruby/object:Gem::Dependency
|
|
265
|
+
name: selenium-webdriver
|
|
266
|
+
requirement: !ruby/object:Gem::Requirement
|
|
267
|
+
requirements:
|
|
268
|
+
- - ">="
|
|
269
|
+
- !ruby/object:Gem::Version
|
|
270
|
+
version: '3.0'
|
|
271
|
+
type: :development
|
|
272
|
+
prerelease: false
|
|
273
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
274
|
+
requirements:
|
|
275
|
+
- - ">="
|
|
276
|
+
- !ruby/object:Gem::Version
|
|
277
|
+
version: '3.0'
|
|
251
278
|
- !ruby/object:Gem::Dependency
|
|
252
279
|
name: simple_xlsx_reader
|
|
253
280
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -424,7 +451,6 @@ files:
|
|
|
424
451
|
- app/views/adhoq/queries/new.html.erb
|
|
425
452
|
- app/views/adhoq/queries/show.html.erb
|
|
426
453
|
- app/views/layouts/adhoq/application.html.erb
|
|
427
|
-
- config/database.yml
|
|
428
454
|
- config/routes.rb
|
|
429
455
|
- db/migrate/20141003095645_create_adhoq_queries.rb
|
|
430
456
|
- db/migrate/20141006014750_create_adhoq_executions.rb
|
|
@@ -468,8 +494,8 @@ files:
|
|
|
468
494
|
homepage: https://github.com/esminc/adhoq
|
|
469
495
|
licenses:
|
|
470
496
|
- MIT
|
|
471
|
-
metadata:
|
|
472
|
-
|
|
497
|
+
metadata:
|
|
498
|
+
rubygems_mfa_required: 'true'
|
|
473
499
|
rdoc_options: []
|
|
474
500
|
require_paths:
|
|
475
501
|
- lib
|
|
@@ -484,23 +510,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
484
510
|
- !ruby/object:Gem::Version
|
|
485
511
|
version: '0'
|
|
486
512
|
requirements: []
|
|
487
|
-
rubygems_version: 3.
|
|
488
|
-
signing_key:
|
|
513
|
+
rubygems_version: 3.6.2
|
|
489
514
|
specification_version: 4
|
|
490
515
|
summary: DB management console in the wild.
|
|
491
516
|
test_files:
|
|
492
|
-
- spec/adhoq/
|
|
517
|
+
- spec/adhoq/executor/connection_wrapper_spec.rb
|
|
518
|
+
- spec/adhoq/executor_spec.rb
|
|
519
|
+
- spec/adhoq/global_variable_spec.rb
|
|
493
520
|
- spec/adhoq/reporter/csv_spec.rb
|
|
521
|
+
- spec/adhoq/reporter/json_spec.rb
|
|
494
522
|
- spec/adhoq/reporter/xlsx_spec.rb
|
|
495
523
|
- 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
524
|
- spec/factories/adhoq_queries.rb
|
|
500
|
-
- spec/models/adhoq/report_spec.rb
|
|
501
525
|
- spec/models/adhoq/execution_spec.rb
|
|
502
526
|
- spec/models/adhoq/query_spec.rb
|
|
503
|
-
- spec/
|
|
527
|
+
- spec/models/adhoq/report_spec.rb
|
|
504
528
|
- spec/support/activejob_helper.rb
|
|
529
|
+
- spec/support/feature_spec_helper.rb
|
|
505
530
|
- spec/support/have_values_in_xlsx_sheet_matcher.rb
|
|
506
531
|
- spec/spec_helper.rb
|
data/config/database.yml
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# SQLite version 3.x
|
|
2
|
-
# gem install sqlite3
|
|
3
|
-
#
|
|
4
|
-
# Ensure the SQLite 3 gem is defined in your Gemfile
|
|
5
|
-
# gem 'sqlite3'
|
|
6
|
-
#
|
|
7
|
-
default: &default
|
|
8
|
-
adapter: sqlite3
|
|
9
|
-
pool: 5
|
|
10
|
-
timeout: 5000
|
|
11
|
-
|
|
12
|
-
development:
|
|
13
|
-
<<: *default
|
|
14
|
-
database: db/development.sqlite3
|
|
15
|
-
|
|
16
|
-
# Warning: The database defined as "test" will be erased and
|
|
17
|
-
# re-generated from your development database when you run "rake".
|
|
18
|
-
# Do not set this db to the same as development or production.
|
|
19
|
-
test:
|
|
20
|
-
<<: *default
|
|
21
|
-
database: db/test.sqlite3
|
|
22
|
-
|
|
23
|
-
production:
|
|
24
|
-
<<: *default
|
|
25
|
-
database: db/production.sqlite3
|