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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47c7d111e049da8b2712f2f745aad56742d6e06d60fea9138f6c6d0e6676fcd5
4
- data.tar.gz: 78d0dd09efc026446a259c4a71d245d9ad295eddf7a6d815f1fa373653fcab95
3
+ metadata.gz: 2b4f2dbea183de1d42177e7f32eabf10c1e270aee14f2f5afc70a65f97da4e97
4
+ data.tar.gz: a1f80b71b2a627fb2b95f96e50009a7c9c2e273e1d013df344bc0b8b49b80000
5
5
  SHA512:
6
- metadata.gz: 1a282562a9c27b74953fd14d4094710457601521a5f2ebe1b90625f476ec07db86c6fac7402e4bfc29f6ce86ee6df46685cab07d6d521a2e3fbd38c8af3cf938
7
- data.tar.gz: 8c340fb434077bc59ef3bb288226aeb8c8d6d268a992eb040e0be5c415d24cf0ba980ab44dc5617ff00d80b2b9227eedf2657eec911bcae408cd55fbe5356fb7
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
- result = connection.select("SELECT MAX(version) AS current_version FROM #{ActiveRecord::SchemaMigration.table_name}")
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
 
@@ -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
- include ActiveSupport::Configurable
5
-
6
- config_accessor :storage do
7
- [:on_the_fly]
8
- end
9
-
10
- config_accessor :base_controller do
11
- 'ApplicationController'
12
- end
13
-
14
- config_accessor :authorization
15
- config_accessor :authorization_failure_action
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 = config[name]).respond_to?(:call)
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
@@ -1,3 +1,3 @@
1
1
  module Adhoq
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
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 'capybara/poltergeist'
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.default_driver = :poltergeist
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
- [sheet.headers, *sheet.data]
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.3
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: 2025-05-19 00:00:00.000000000 Z
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.2'
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.2'
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: 2.4.3
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: 2.4.3
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.1
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.1
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: poltergeist
209
+ name: pry-byebug
211
210
  requirement: !ruby/object:Gem::Requirement
212
211
  requirements:
213
- - - "~>"
212
+ - - ">="
214
213
  - !ruby/object:Gem::Version
215
- version: 1.6.0
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: 1.6.0
221
+ version: '0'
223
222
  - !ruby/object:Gem::Dependency
224
- name: pry-byebug
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
- post_install_message:
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.3.4
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/reporter/json_spec.rb
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/support/feature_spec_helper.rb
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