inst_data_shipper 0.2.6 → 0.2.8

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -0
  3. data/Rakefile +0 -0
  4. data/app/models/inst_data_shipper/dump_batch.rb +1 -1
  5. data/db/migrate/20240301090836_create_inst_data_shipper_dump_batches.rb +0 -0
  6. data/lib/inst_data_shipper/basic_dumper.rb +0 -0
  7. data/lib/inst_data_shipper/concerns/hooks.rb +0 -0
  8. data/lib/inst_data_shipper/data_sources/base.rb +19 -0
  9. data/lib/inst_data_shipper/data_sources/canvas_reports.rb +3 -6
  10. data/lib/inst_data_shipper/data_sources/local_tables.rb +1 -5
  11. data/lib/inst_data_shipper/destinations/concerns/chunking.rb +0 -0
  12. data/lib/inst_data_shipper/destinations/hosted_data.rb +0 -0
  13. data/lib/inst_data_shipper/destinations/s3.rb +0 -0
  14. data/lib/inst_data_shipper/destinations/speccable.rb +0 -0
  15. data/lib/inst_data_shipper/dumper.rb +4 -1
  16. data/lib/inst_data_shipper/engine.rb +0 -0
  17. data/lib/inst_data_shipper/jobs/async_caller.rb +0 -0
  18. data/lib/inst_data_shipper/jobs/base.rb +0 -0
  19. data/lib/inst_data_shipper/record.rb +0 -0
  20. data/lib/inst_data_shipper/schema_builder.rb +11 -1
  21. data/lib/inst_data_shipper/version.rb +1 -1
  22. data/lib/inst_data_shipper.rb +0 -0
  23. data/spec/inst_data_shipper/destinations/hosted_data_spec.rb +0 -0
  24. data/spec/inst_data_shipper/dumper_spec.rb +0 -0
  25. data/spec/internal/app/assets/config/manifest.js +0 -0
  26. data/spec/internal/config/database.yml +5 -0
  27. data/spec/internal/config/routes.rb +5 -0
  28. data/spec/internal/config/storage.yml +3 -0
  29. data/spec/internal/db/schema.rb +6 -0
  30. data/spec/internal/public/favicon.ico +0 -0
  31. data/spec/spec_helper.rb +10 -3
  32. data/spec/support/fixtures/reports/provisioning_csv_unzipped/courses.csv +0 -0
  33. data/spec/support/fixtures/reports/provisioning_csv_unzipped/users.csv +0 -0
  34. data/spec/support/test_dumper.rb +0 -0
  35. metadata +20 -44
  36. data/spec/dummy/README.rdoc +0 -1
  37. data/spec/dummy/Rakefile +0 -6
  38. data/spec/dummy/app/models/application_record.rb +0 -3
  39. data/spec/dummy/bin/rails +0 -4
  40. data/spec/dummy/config/application.rb +0 -37
  41. data/spec/dummy/config/boot.rb +0 -5
  42. data/spec/dummy/config/database.yml +0 -25
  43. data/spec/dummy/config/environment.rb +0 -5
  44. data/spec/dummy/config/environments/development.rb +0 -41
  45. data/spec/dummy/config/environments/test.rb +0 -44
  46. data/spec/dummy/config/initializers/assets.rb +0 -11
  47. data/spec/dummy/config/initializers/session_store.rb +0 -3
  48. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  49. data/spec/dummy/config/routes.rb +0 -2
  50. data/spec/dummy/config/secrets.yml +0 -22
  51. data/spec/dummy/config.ru +0 -4
  52. data/spec/dummy/db/schema.rb +0 -58
  53. data/spec/dummy/tmp/local_secret.txt +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9374e4353fc38c211cd8d7565b271f9a1543c8e6165d1716cffa93f0704d974b
4
- data.tar.gz: de10a934800be0a8560fd241341da120e7b453cff3d7806664e7e8260c0ef33d
3
+ metadata.gz: 75cf640fef52a5846408607d92b4cbeaedefec03e733542508c17ea245b7d3cf
4
+ data.tar.gz: 07bae82a7237af5d1720503a45f35208711c299c05485adc02f045de65462e49
5
5
  SHA512:
6
- metadata.gz: 4b0599be4475101ea1ad5e5c5db90134628cdbf1e60e3b440a1f9f4fa90023da5da31c39d868f3fb431a9037f4a25159f0e283e253888da9432153db1b838edf
7
- data.tar.gz: a8be277a20e03c4363f3a527dd0aa382252e330d73bdcb02f58a9c032f69b5cf19279c316d5fd5712e0570f71da9306b38d103af431a04b6aa38d7915155819d
6
+ metadata.gz: 81cb6a9801d399f0952f74083506938f9e3fd68b966a1afa4c24cbd9df393659ef01c1c4ae5cbd3a526809c2c1214966b798a9e30727d059fdfc00730a6931a1
7
+ data.tar.gz: 39930b880f8acd83230fda54bf559c9deb7fc95a31039212b7ab92eb81cc69b270cc0ed6e28237f0449a6e314146082d4c1f3203cc176eacf0b8c75dc6d3407f
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
@@ -1,5 +1,5 @@
1
1
  module InstDataShipper
2
- class DumpBatch < ApplicationRecord
2
+ class DumpBatch < ActiveRecord::Base
3
3
  ERROR_STATUS = "error".freeze
4
4
  SUCCESS_STATUS = "success".freeze
5
5
  ENQUEUED_STATUS = "enqueued".freeze
File without changes
File without changes
@@ -9,6 +9,25 @@ module InstDataShipper
9
9
  base.send(:include, Concern)
10
10
  end
11
11
 
12
+ def process_raw_data_enumerator(table_def, enumerator, dest)
13
+ enumerator.each_slice(1000) do |batch|
14
+ Array(table_def[:batch_preprocess]).each do |preprocess|
15
+ batch = instance_exec(batch, &preprocess).compact
16
+ end
17
+
18
+ batch.each do |m|
19
+ Array(table_def[:row_preprocess]).each do |preprocess|
20
+ m = instance_exec(m, &preprocess)
21
+ next if m.nil?
22
+ end
23
+
24
+ dest << table_def[:columns].map do |c|
25
+ instance_exec(m, &c[:block])
26
+ end
27
+ end
28
+ end
29
+ end
30
+
12
31
  module Concern
13
32
  extend ActiveSupport::Concern
14
33
  end
@@ -101,7 +101,7 @@ module InstDataShipper
101
101
 
102
102
  def _process_canvas_report(report:, schema_name: nil)
103
103
  file_path = "#{working_dir}/temp_report"
104
- IO.copy_stream(URI.parse(report['attachment']['url']).open, file_path)
104
+ canvas_sync_client.download_report(report['attachment']['url'], file_path)
105
105
 
106
106
  if report['attachment']['content-type'] == 'application/zip'
107
107
  unzipped_file_path = "#{file_path}_unzipped"
@@ -123,11 +123,8 @@ module InstDataShipper
123
123
  table_def = lookup_table_schema!(schema_name&.[](file_name), report[:report])
124
124
 
125
125
  inner_block = ->(file) {
126
- CSV.foreach(file_path, headers: true) do |m|
127
- file << table_def[:columns].map do |c|
128
- instance_exec(m, &c[:block])
129
- end
130
- end
126
+ enumerator = CSV.foreach(file_path, headers: true)
127
+ process_raw_data_enumerator(table_def, enumerator, file)
131
128
  }
132
129
 
133
130
  upload_data(table_def, extra: report['id'], &inner_block)
@@ -24,11 +24,7 @@ module InstDataShipper
24
24
  )
25
25
  end
26
26
 
27
- query.find_each do |m|
28
- file << table_def[:columns].map do |c|
29
- instance_exec(m, &c[:block])
30
- end
31
- end
27
+ process_raw_data_enumerator(table_def, query.find_each, file)
32
28
  }
33
29
 
34
30
  upload_data(table_def, &inner_block)
File without changes
File without changes
File without changes
@@ -172,9 +172,12 @@ module InstDataShipper
172
172
 
173
173
  table_def = lookup_table_schema!(table_def) if table_def.is_a?(String)
174
174
 
175
+ # Return false if the table was added to the force list
176
+ # (Captures: return false if table's schema changes)
175
177
  return false if batch_context[:force_full_tables]&.include?(table_def[:warehouse_name])
176
178
 
177
- # TODO Return false if table's schema changes
179
+ return false unless incremental_since
180
+
178
181
  if (inc = table_def[:incremental]).present?
179
182
  differ = inc[:if]
180
183
  return !!incremental_since if differ.nil?
File without changes
File without changes
File without changes
File without changes
@@ -82,7 +82,7 @@ module InstDataShipper
82
82
 
83
83
  def incremental(scope=nil, **kwargs)
84
84
  if (extras = kwargs.keys - %i[on if]).present?
85
- raise ArgumentError, "Unsuppored options: #{extras.inspect}"
85
+ raise ArgumentError, "Unsupported options: #{extras.inspect}"
86
86
  end
87
87
 
88
88
  options[:incremental] = {
@@ -105,6 +105,16 @@ module InstDataShipper
105
105
  self.options[:sourcer] = source
106
106
  end
107
107
 
108
+ def batch_preprocess(&block)
109
+ options[:batch_preprocess] ||= []
110
+ options[:batch_preprocess] << block
111
+ end
112
+
113
+ def row_preprocess(&block)
114
+ options[:row_preprocess] ||= []
115
+ options[:row_preprocess] << block
116
+ end
117
+
108
118
  def column(name, *args, refs: [], from: nil, **extra, &block)
109
119
  from ||= name.to_s
110
120
 
@@ -1,3 +1,3 @@
1
1
  module InstDataShipper
2
- VERSION = "0.2.6".freeze
2
+ VERSION = "0.2.8".freeze
3
3
  end
File without changes
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ test:
2
+ database: ids-test
3
+ adapter: postgresql
4
+ encoding: unicode
5
+ pool: 15
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Rails.application.routes.draw do
4
+ # Add your own routes here, or remove this file if you don't have need for it.
5
+ end
@@ -0,0 +1,3 @@
1
+ test:
2
+ service: Disk
3
+ root: /Users/eknapp/code/inst_data_shipper/tmp/storage
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ ActiveRecord::Schema.define do
4
+ # Set up any tables you need to exist for your test suite that don't belong
5
+ # in migrations.
6
+ end
File without changes
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,14 @@
1
1
  ENV["RAILS_ENV"] ||= 'test'
2
2
  ENV['REDIS_URL'] ||= 'redis://localhost:6379/9'
3
3
 
4
- require "inst_data_shipper"
5
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
6
- # Rails::Generators.invoke("canvas_sync:install", ["--models", "all"], destination_root: Rails.root)
4
+ require "bundler/setup"
5
+ Bundler.require :default, :development
6
+
7
+ Combustion::Application.configure do
8
+ config.enable_reloading = true # Required for with_model
9
+ end
10
+ Combustion.initialize! :active_record, :active_job
11
+
7
12
  require "bundler/setup"
8
13
  require 'rspec/rails'
9
14
  require 'spec_helper'
@@ -16,6 +21,8 @@ require 'pry'
16
21
  require 'pry-nav'
17
22
  require 'with_model'
18
23
 
24
+ require "inst_data_shipper"
25
+
19
26
  require 'sidekiq/testing'
20
27
  Sidekiq::Testing.fake!
21
28
 
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inst_data_shipper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-04 00:00:00.000000000 Z
11
+ date: 2025-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -296,14 +296,14 @@ dependencies:
296
296
  requirements:
297
297
  - - ">="
298
298
  - !ruby/object:Gem::Version
299
- version: 1.5.8
299
+ version: 1.5.39
300
300
  type: :runtime
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - ">="
305
305
  - !ruby/object:Gem::Version
306
- version: 1.5.8
306
+ version: 1.5.39
307
307
  - !ruby/object:Gem::Dependency
308
308
  name: canvas_sync
309
309
  requirement: !ruby/object:Gem::Requirement
@@ -332,7 +332,7 @@ dependencies:
332
332
  - - ">="
333
333
  - !ruby/object:Gem::Version
334
334
  version: '0'
335
- description:
335
+ description:
336
336
  email:
337
337
  - pseng@instructure.com
338
338
  executables: []
@@ -361,26 +361,14 @@ files:
361
361
  - lib/inst_data_shipper/record.rb
362
362
  - lib/inst_data_shipper/schema_builder.rb
363
363
  - lib/inst_data_shipper/version.rb
364
- - spec/dummy/README.rdoc
365
- - spec/dummy/Rakefile
366
- - spec/dummy/app/models/application_record.rb
367
- - spec/dummy/bin/rails
368
- - spec/dummy/config.ru
369
- - spec/dummy/config/application.rb
370
- - spec/dummy/config/boot.rb
371
- - spec/dummy/config/database.yml
372
- - spec/dummy/config/environment.rb
373
- - spec/dummy/config/environments/development.rb
374
- - spec/dummy/config/environments/test.rb
375
- - spec/dummy/config/initializers/assets.rb
376
- - spec/dummy/config/initializers/session_store.rb
377
- - spec/dummy/config/initializers/wrap_parameters.rb
378
- - spec/dummy/config/routes.rb
379
- - spec/dummy/config/secrets.yml
380
- - spec/dummy/db/schema.rb
381
- - spec/dummy/tmp/local_secret.txt
382
364
  - spec/inst_data_shipper/destinations/hosted_data_spec.rb
383
365
  - spec/inst_data_shipper/dumper_spec.rb
366
+ - spec/internal/app/assets/config/manifest.js
367
+ - spec/internal/config/database.yml
368
+ - spec/internal/config/routes.rb
369
+ - spec/internal/config/storage.yml
370
+ - spec/internal/db/schema.rb
371
+ - spec/internal/public/favicon.ico
384
372
  - spec/spec_helper.rb
385
373
  - spec/support/fixtures/reports/provisioning_csv_unzipped/courses.csv
386
374
  - spec/support/fixtures/reports/provisioning_csv_unzipped/users.csv
@@ -388,7 +376,7 @@ files:
388
376
  homepage: https://instructure.com
389
377
  licenses: []
390
378
  metadata: {}
391
- post_install_message:
379
+ post_install_message:
392
380
  rdoc_options: []
393
381
  require_paths:
394
382
  - lib
@@ -404,30 +392,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
404
392
  version: '0'
405
393
  requirements: []
406
394
  rubygems_version: 3.5.3
407
- signing_key:
395
+ signing_key:
408
396
  specification_version: 4
409
397
  summary: Gem for uploading app data to Instructure CustomDev Hosted Data tooling
410
398
  test_files:
411
- - spec/dummy/README.rdoc
412
- - spec/dummy/Rakefile
413
- - spec/dummy/app/models/application_record.rb
414
- - spec/dummy/bin/rails
415
- - spec/dummy/config/application.rb
416
- - spec/dummy/config/boot.rb
417
- - spec/dummy/config/database.yml
418
- - spec/dummy/config/environment.rb
419
- - spec/dummy/config/environments/development.rb
420
- - spec/dummy/config/environments/test.rb
421
- - spec/dummy/config/initializers/assets.rb
422
- - spec/dummy/config/initializers/session_store.rb
423
- - spec/dummy/config/initializers/wrap_parameters.rb
424
- - spec/dummy/config/routes.rb
425
- - spec/dummy/config/secrets.yml
426
- - spec/dummy/config.ru
427
- - spec/dummy/db/schema.rb
428
- - spec/dummy/tmp/local_secret.txt
429
399
  - spec/inst_data_shipper/destinations/hosted_data_spec.rb
430
400
  - spec/inst_data_shipper/dumper_spec.rb
401
+ - spec/internal/app/assets/config/manifest.js
402
+ - spec/internal/config/database.yml
403
+ - spec/internal/config/routes.rb
404
+ - spec/internal/config/storage.yml
405
+ - spec/internal/db/schema.rb
406
+ - spec/internal/public/favicon.ico
431
407
  - spec/spec_helper.rb
432
408
  - spec/support/fixtures/reports/provisioning_csv_unzipped/courses.csv
433
409
  - spec/support/fixtures/reports/provisioning_csv_unzipped/users.csv
@@ -1 +0,0 @@
1
- Dummy Rails App for gem testing
data/spec/dummy/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
-
6
- Rails.application.load_tasks
@@ -1,3 +0,0 @@
1
- class ApplicationRecord < ActiveRecord::Base
2
- self.abstract_class = true
3
- end
data/spec/dummy/bin/rails DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
3
- require_relative '../config/boot'
4
- require 'rails/commands'
@@ -1,37 +0,0 @@
1
- require File.expand_path('../boot', __FILE__)
2
-
3
- require 'rails'
4
- require 'active_record/railtie'
5
- # require 'active_storage/engine'
6
- require 'action_controller/railtie'
7
- require 'action_view/railtie'
8
- require 'action_mailer/railtie'
9
- require 'active_job/railtie'
10
- # require 'action_cable/engine'
11
- # require 'action_mailbox/engine'
12
- # require 'action_text/engine'
13
- require 'rails/test_unit/railtie'
14
- # require 'sprockets/railtie'
15
-
16
- Bundler.require(*Rails.groups)
17
- require "inst_data_shipper"
18
-
19
- module Dummy
20
- class Application < Rails::Application
21
- # Settings in config/environments/* take precedence over those specified here.
22
- # Application configuration should go into files in config/initializers
23
- # -- all .rb files in that directory are automatically loaded.
24
-
25
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
26
- # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
27
- # config.time_zone = 'Central Time (US & Canada)'
28
-
29
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
30
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
31
- # config.i18n.default_locale = :de
32
-
33
- # Do not swallow errors in after_commit/after_rollback callbacks.
34
- # config.active_record.raise_in_transactional_callbacks = true
35
- end
36
- end
37
-
@@ -1,5 +0,0 @@
1
- # Set up gems listed in the Gemfile.
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
3
-
4
- require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
- $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -1,25 +0,0 @@
1
-
2
- default: &default
3
- adapter: postgresql
4
- encoding: unicode
5
- # For details on connection pooling, see Rails configuration guide
6
- # http://guides.rubyonrails.org/configuring.html#database-pooling
7
- pool: <%= ENV.fetch("DB_POOL_SIZE", nil) || (ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i + 10) %>
8
- username: <%= ENV.fetch("DB_USERNAME", "") %>
9
- password: <%= ENV.fetch("DB_PASSWORD", "") %>
10
- host: <%= ENV.fetch("DB_ADDRESS", "localhost") %>
11
-
12
- development:
13
- <<: *default
14
- database: inst_data_shipper_development
15
-
16
- test:
17
- <<: *default
18
- database: inst_data_shipper_test
19
-
20
- production:
21
- <<: *default
22
- host: <%= ENV.fetch('DB_ADDRESS', 'localhost') %>
23
- database: inst_data_shipper_production
24
- username: <%= ENV.fetch("DB_USERNAME", "inst_data_shipper_specs_postgres_user") %>
25
- password: <%= ENV.fetch("DB_PASSWORD", 'inst_data_shipper_specs_postgres_password') %>
@@ -1,5 +0,0 @@
1
- # Load the Rails application.
2
- require File.expand_path('../application', __FILE__)
3
-
4
- # Initialize the Rails application.
5
- Rails.application.initialize!
@@ -1,41 +0,0 @@
1
- Rails.application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb.
3
-
4
- # In the development environment your application's code is reloaded on
5
- # every request. This slows down response time but is perfect for development
6
- # since you don't have to restart the web server when you make code changes.
7
- config.cache_classes = false
8
-
9
- # Do not eager load code on boot.
10
- config.eager_load = false
11
-
12
- # Show full error reports and disable caching.
13
- config.consider_all_requests_local = true
14
- config.action_controller.perform_caching = false
15
-
16
- # Don't care if the mailer can't send.
17
- config.action_mailer.raise_delivery_errors = false
18
-
19
- # Print deprecation notices to the Rails logger.
20
- config.active_support.deprecation = :log
21
-
22
- # Raise an error on page load if there are pending migrations.
23
- config.active_record.migration_error = :page_load
24
-
25
- # Debug mode disables concatenation and preprocessing of assets.
26
- # This option may cause significant delays in view rendering with a large
27
- # number of complex assets.
28
- # config.assets.debug = true
29
-
30
- # Asset digests allow you to set far-future HTTP expiration dates on all assets,
31
- # yet still be able to expire them through the digest params.
32
- # config.assets.digest = true
33
-
34
- # Adds additional error checking when serving assets at runtime.
35
- # Checks for improperly declared sprockets dependencies.
36
- # Raises helpful error messages.
37
- # config.assets.raise_runtime_errors = true
38
-
39
- # Raises error for missing translations
40
- # config.action_view.raise_on_missing_translations = true
41
- end
@@ -1,44 +0,0 @@
1
- Rails.application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb.
3
-
4
- # The test environment is used exclusively to run your application's
5
- # test suite. You never need to work with it otherwise. Remember that
6
- # your test database is "scratch space" for the test suite and is wiped
7
- # and recreated between test runs. Don't rely on the data there!
8
- config.cache_classes = true
9
-
10
- # Do not eager load code on boot. This avoids loading your whole application
11
- # just for the purpose of running a single test. If you are using a tool that
12
- # preloads Rails for running tests, you may have to set it to true.
13
- config.eager_load = false
14
-
15
- # Configure static file server for tests with Cache-Control for performance.
16
- config.serve_static_files = true
17
- config.static_cache_control = 'public, max-age=3600'
18
-
19
- # Show full error reports and disable caching.
20
- config.consider_all_requests_local = true
21
- config.action_controller.perform_caching = false
22
-
23
- # Raise exceptions instead of rendering exception templates.
24
- config.action_dispatch.show_exceptions = false
25
-
26
- # Disable request forgery protection in test environment.
27
- config.action_controller.allow_forgery_protection = false
28
-
29
- # Tell Action Mailer not to deliver emails to the real world.
30
- # The :test delivery method accumulates sent emails in the
31
- # ActionMailer::Base.deliveries array.
32
- config.action_mailer.delivery_method = :test
33
-
34
- # Randomize the order test cases are executed.
35
- config.active_support.test_order = :random
36
-
37
- # Print deprecation notices to the stderr.
38
- config.active_support.deprecation = :stderr
39
-
40
- config.active_job.queue_adapter = :test
41
-
42
- # Raises error for missing translations
43
- # config.action_view.raise_on_missing_translations = true
44
- end
@@ -1,11 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Version of your assets, change this if you want to expire all your assets.
4
- # Rails.application.config.assets.version = '1.0'
5
-
6
- # Add additional assets to the asset load path
7
- # Rails.application.config.assets.paths << Emoji.images_path
8
-
9
- # Precompile additional assets.
10
- # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
11
- # Rails.application.config.assets.precompile += %w( search.js )
@@ -1,3 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- Rails.application.config.session_store :cookie_store, key: '_dummy_session'
@@ -1,14 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # This file contains settings for ActionController::ParamsWrapper which
4
- # is enabled by default.
5
-
6
- # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
- ActiveSupport.on_load(:action_controller) do
8
- wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9
- end
10
-
11
- # To enable root element in JSON for ActiveRecord objects.
12
- # ActiveSupport.on_load(:active_record) do
13
- # self.include_root_in_json = true
14
- # end
@@ -1,2 +0,0 @@
1
- Rails.application.routes.draw do
2
- end
@@ -1,22 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key is used for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
-
6
- # Make sure the secret is at least 30 characters and all random,
7
- # no regular words or you'll be exposed to dictionary attacks.
8
- # You can use `rake secret` to generate a secure secret key.
9
-
10
- # Make sure the secrets in this file are kept private
11
- # if you're sharing your code publicly.
12
-
13
- development:
14
- secret_key_base: 4fc03e27b5bfc390d7beaf99e739c1a9ad4264d58cd2a1db40fbb83b6ed320e1fa77fb4e0dd7c24816811170a59d65b623bc887b4ca1e0bd0c57348e9e304f73
15
-
16
- test:
17
- secret_key_base: 7700238de042256ef63c58a57c6bf431b6ebca79f95f66ccd04b5ad8b89761db15a9b89a85b08ace8a69ae3867462cb9514eb21d0e591d8f3881de79d7b72675
18
-
19
- # Do not keep production secrets in the repository,
20
- # instead read values from the environment.
21
- production:
22
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
data/spec/dummy/config.ru DELETED
@@ -1,4 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require ::File.expand_path('../config/environment', __FILE__)
4
- run Rails.application
@@ -1,58 +0,0 @@
1
- # This file is auto-generated from the current state of the database. Instead
2
- # of editing this file, please use the migrations feature of Active Record to
3
- # incrementally modify your database, and then regenerate this schema definition.
4
- #
5
- # Note that this schema.rb definition is the authoritative source for your
6
- # database schema. If you need to create the application database on another
7
- # system, you should be using db:schema:load, not running all the migrations
8
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
- # you'll amass, the slower it'll run and the greater likelihood for issues).
10
- #
11
- # It's strongly recommended that you check this file into your version control system.
12
-
13
- ActiveRecord::Schema.define(version: 2024_03_01_090836) do
14
-
15
- # These are extensions that must be enabled in order to support this database
16
- enable_extension "plpgsql"
17
-
18
- create_table "canvas_sync_job_logs", id: :serial, force: :cascade do |t|
19
- t.datetime "started_at"
20
- t.datetime "completed_at"
21
- t.string "exception"
22
- t.text "backtrace"
23
- t.string "job_class"
24
- t.string "status"
25
- t.text "metadata"
26
- t.text "job_arguments"
27
- t.datetime "created_at"
28
- t.datetime "updated_at"
29
- t.string "job_id"
30
- t.integer "fork_count"
31
- t.index ["job_id"], name: "index_canvas_sync_job_logs_on_job_id"
32
- end
33
-
34
- create_table "canvas_sync_sync_batches", id: :serial, force: :cascade do |t|
35
- t.datetime "started_at"
36
- t.datetime "completed_at"
37
- t.string "status"
38
- t.datetime "created_at"
39
- t.datetime "updated_at"
40
- t.boolean "full_sync", default: false
41
- t.string "batch_genre"
42
- t.string "batch_bid"
43
- end
44
-
45
- create_table "inst_data_shipper_dump_batches", id: :serial, force: :cascade do |t|
46
- t.datetime "started_at"
47
- t.datetime "completed_at"
48
- t.string "status"
49
- t.string "job_class"
50
- t.string "genre"
51
- t.string "batch_id"
52
- t.string "exception"
53
- t.text "backtrace"
54
- t.datetime "created_at"
55
- t.datetime "updated_at"
56
- end
57
-
58
- end
@@ -1 +0,0 @@
1
- 6ddf19e3f9f936190c3c79bc546382849bcf6efb4205cbe13797b683ec9a3dbc02cb87e348121c3502809d9475683c26b12c92d973d571953ebb50b0c4cc3641