adhoq 1.0.2 → 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: e6a5cbb986c943cc23184441aef4ea2bf8e0ad5d0fb995d1f7a8f9e56c62b1b8
4
- data.tar.gz: 1db27b380039a7e53455a5778cf07558af462274fa12f774d1d7ed87d3bea7ac
3
+ metadata.gz: 2b4f2dbea183de1d42177e7f32eabf10c1e270aee14f2f5afc70a65f97da4e97
4
+ data.tar.gz: a1f80b71b2a627fb2b95f96e50009a7c9c2e273e1d013df344bc0b8b49b80000
5
5
  SHA512:
6
- metadata.gz: a75e34b7025570cae4e18db014e5b20f65071335184d0f9ad194a8c2b5960916b6f796d90d316e7a0f84474bb9b70529b793528d652daf3ad300c2935156026e
7
- data.tar.gz: 7fca78ea47976fb5ff2b45c757619284534bd09a57e6efcdf4df87f494727f0047f2d93065edb2167aaa771aa411c8f54968883fae2596dcb67518bf25a287fe
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.2"
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.2
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: 2021-02-04 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
@@ -38,6 +37,20 @@ dependencies:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
39
  version: '3.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: csv
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
41
54
  - !ruby/object:Gem::Dependency
42
55
  name: fog-aws
43
56
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +83,16 @@ dependencies:
70
83
  name: font-awesome-sass
71
84
  requirement: !ruby/object:Gem::Requirement
72
85
  requirements:
73
- - - ">="
86
+ - - "~>"
74
87
  - !ruby/object:Gem::Version
75
- version: '4.2'
88
+ version: '4.7'
76
89
  type: :runtime
77
90
  prerelease: false
78
91
  version_requirements: !ruby/object:Gem::Requirement
79
92
  requirements:
80
- - - ">="
93
+ - - "~>"
81
94
  - !ruby/object:Gem::Version
82
- version: '4.2'
95
+ version: '4.7'
83
96
  - !ruby/object:Gem::Dependency
84
97
  name: jquery-rails
85
98
  requirement: !ruby/object:Gem::Requirement
@@ -140,16 +153,16 @@ dependencies:
140
153
  name: capybara
141
154
  requirement: !ruby/object:Gem::Requirement
142
155
  requirements:
143
- - - "~>"
156
+ - - ">="
144
157
  - !ruby/object:Gem::Version
145
- version: 2.4.3
158
+ version: '3.0'
146
159
  type: :development
147
160
  prerelease: false
148
161
  version_requirements: !ruby/object:Gem::Requirement
149
162
  requirements:
150
- - - "~>"
163
+ - - ">="
151
164
  - !ruby/object:Gem::Version
152
- version: 2.4.3
165
+ version: '3.0'
153
166
  - !ruby/object:Gem::Dependency
154
167
  name: database_cleaner
155
168
  requirement: !ruby/object:Gem::Requirement
@@ -168,16 +181,16 @@ dependencies:
168
181
  name: factory_bot_rails
169
182
  requirement: !ruby/object:Gem::Requirement
170
183
  requirements:
171
- - - "~>"
184
+ - - ">="
172
185
  - !ruby/object:Gem::Version
173
- version: 4.11.1
186
+ version: '4.11'
174
187
  type: :development
175
188
  prerelease: false
176
189
  version_requirements: !ruby/object:Gem::Requirement
177
190
  requirements:
178
- - - "~>"
191
+ - - ">="
179
192
  - !ruby/object:Gem::Version
180
- version: 4.11.1
193
+ version: '4.11'
181
194
  - !ruby/object:Gem::Dependency
182
195
  name: launchy
183
196
  requirement: !ruby/object:Gem::Requirement
@@ -193,21 +206,35 @@ dependencies:
193
206
  - !ruby/object:Gem::Version
194
207
  version: '0'
195
208
  - !ruby/object:Gem::Dependency
196
- name: poltergeist
209
+ name: pry-byebug
197
210
  requirement: !ruby/object:Gem::Requirement
198
211
  requirements:
199
- - - "~>"
212
+ - - ">="
200
213
  - !ruby/object:Gem::Version
201
- version: 1.6.0
214
+ version: '0'
202
215
  type: :development
203
216
  prerelease: false
204
217
  version_requirements: !ruby/object:Gem::Requirement
205
218
  requirements:
206
- - - "~>"
219
+ - - ">="
207
220
  - !ruby/object:Gem::Version
208
- version: 1.6.0
221
+ version: '0'
209
222
  - !ruby/object:Gem::Dependency
210
- 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
211
238
  requirement: !ruby/object:Gem::Requirement
212
239
  requirements:
213
240
  - - ">="
@@ -234,6 +261,20 @@ dependencies:
234
261
  - - ">="
235
262
  - !ruby/object:Gem::Version
236
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'
237
278
  - !ruby/object:Gem::Dependency
238
279
  name: simple_xlsx_reader
239
280
  requirement: !ruby/object:Gem::Requirement
@@ -410,7 +451,6 @@ files:
410
451
  - app/views/adhoq/queries/new.html.erb
411
452
  - app/views/adhoq/queries/show.html.erb
412
453
  - app/views/layouts/adhoq/application.html.erb
413
- - config/database.yml
414
454
  - config/routes.rb
415
455
  - db/migrate/20141003095645_create_adhoq_queries.rb
416
456
  - db/migrate/20141006014750_create_adhoq_executions.rb
@@ -454,8 +494,8 @@ files:
454
494
  homepage: https://github.com/esminc/adhoq
455
495
  licenses:
456
496
  - MIT
457
- metadata: {}
458
- post_install_message:
497
+ metadata:
498
+ rubygems_mfa_required: 'true'
459
499
  rdoc_options: []
460
500
  require_paths:
461
501
  - lib
@@ -470,23 +510,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
470
510
  - !ruby/object:Gem::Version
471
511
  version: '0'
472
512
  requirements: []
473
- rubygems_version: 3.2.8
474
- signing_key:
513
+ rubygems_version: 3.6.2
475
514
  specification_version: 4
476
515
  summary: DB management console in the wild.
477
516
  test_files:
478
- - 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
479
520
  - spec/adhoq/reporter/csv_spec.rb
521
+ - spec/adhoq/reporter/json_spec.rb
480
522
  - spec/adhoq/reporter/xlsx_spec.rb
481
523
  - spec/adhoq/storage_spec.rb
482
- - spec/adhoq/executor_spec.rb
483
- - spec/adhoq/executor/connection_wrapper_spec.rb
484
- - spec/adhoq/global_variable_spec.rb
485
524
  - spec/factories/adhoq_queries.rb
486
- - spec/models/adhoq/report_spec.rb
487
525
  - spec/models/adhoq/execution_spec.rb
488
526
  - spec/models/adhoq/query_spec.rb
489
- - spec/support/feature_spec_helper.rb
527
+ - spec/models/adhoq/report_spec.rb
490
528
  - spec/support/activejob_helper.rb
529
+ - spec/support/feature_spec_helper.rb
491
530
  - spec/support/have_values_in_xlsx_sheet_matcher.rb
492
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