canvas_sync 0.23.2 → 0.23.3

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: 495042b458760ac9d123e1fcfc73cad8c7c1640cba2c8cff673e34cb7d45edf2
4
- data.tar.gz: 24f64b9a41657cd52c0ab6923144c41ac0d9ebc57d5c4e6463d1570441777eac
3
+ metadata.gz: 87dcb3a29883abf28f3be7ef70a6aaa6b8b303c7115d5a52e8a7ae9785c1ba3d
4
+ data.tar.gz: ac6c904f3ce0af3e8cdcd32dea735b69dbb856a21c6a2122a0cf9a4d6fe910cc
5
5
  SHA512:
6
- metadata.gz: 2e1a87705f451799f279e3ba9e5f283f5f1dc545b6a826a49576cbba80f3f09d5893725d8cfce1393e64597ddc7f061556102f777e9f282be3016d6e0301ed14
7
- data.tar.gz: 2defa1a43da32a920a9cb499551de9ec366061f5fb26b2afeb79c17ed1507c68e47a083d28a87e2f9fda72608d09ffb7b6c72160fe144ba0cbe1594f25e8e495
6
+ metadata.gz: 398b3bf5a5da8cc4709c49a69587000a48d56cf86e9b46b5ada2768dab58f2b8dc14125c70885074dc4311c4b0aa818105283b6c0d3edc820e5c1e092b1e38d7
7
+ data.tar.gz: b89d3d9d41fd62f9c017742ee7b08c5b50ca0e379dfa3bd48e9e78598dfd7b113917666211c146efa9b471b2a9827d4acb6e8620c0da4806d9c99dd0a51f314c
@@ -24,8 +24,8 @@ module CanvasSync
24
24
  if options[:models].length == 1
25
25
  run_import(options[:models][0], report_file_path)
26
26
  else
27
- unzipped_file_path = extract(report_file_path)
28
- Dir[unzipped_file_path + "/*.csv"].sort.each do |file_path|
27
+ unzipped_file_dir = extract(report_file_path)
28
+ Dir[unzipped_file_dir + "/*.csv"].sort.each do |file_path|
29
29
  model_name = file_path.split("/").last.split(".").first
30
30
  run_import(model_name, file_path)
31
31
  end
@@ -35,17 +35,23 @@ module CanvasSync
35
35
  private
36
36
 
37
37
  def extract(file_path)
38
- unzipped_file_path = "#{file_path}_unzipped"
38
+ unzipped_file_dir = "#{file_path}_unzipped"
39
39
 
40
40
  Zip::File.open(file_path) do |zip_file|
41
41
  zip_file.each do |f|
42
- f_path = File.join(unzipped_file_path, f.name)
42
+ f_path = File.join(unzipped_file_dir, f.name)
43
43
  FileUtils.mkdir_p(File.dirname(f_path))
44
- zip_file.extract(f, f_path) unless File.exist?(f_path)
44
+ next if File.exist?(f_path)
45
+
46
+ if Zip::VERSION < "3.0.0"
47
+ zip_file.extract(f, destination_directory: unzipped_file_dir)
48
+ else
49
+ zip_file.extract(f, f_path)
50
+ end
45
51
  end
46
52
  end
47
53
 
48
- unzipped_file_path
54
+ unzipped_file_dir
49
55
  end
50
56
 
51
57
  def run_import(model_name, report_file_path)
@@ -1,3 +1,3 @@
1
1
  module CanvasSync
2
- VERSION = "0.23.2".freeze
2
+ VERSION = "0.23.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canvas_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.2
4
+ version: 0.23.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-08-13 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -290,6 +289,20 @@ dependencies:
290
289
  - - ">="
291
290
  - !ruby/object:Gem::Version
292
291
  version: '0'
292
+ - !ruby/object:Gem::Dependency
293
+ name: csv
294
+ requirement: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ">="
304
+ - !ruby/object:Gem::Version
305
+ version: '0'
293
306
  - !ruby/object:Gem::Dependency
294
307
  name: open-uri
295
308
  requirement: !ruby/object:Gem::Requirement
@@ -416,7 +429,6 @@ dependencies:
416
429
  - - ">="
417
430
  - !ruby/object:Gem::Version
418
431
  version: '0'
419
- description:
420
432
  email:
421
433
  - pseng@instructure.com
422
434
  executables: []
@@ -872,7 +884,6 @@ files:
872
884
  homepage: https://instructure.com
873
885
  licenses: []
874
886
  metadata: {}
875
- post_install_message:
876
887
  rdoc_options: []
877
888
  require_paths:
878
889
  - lib
@@ -887,8 +898,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
887
898
  - !ruby/object:Gem::Version
888
899
  version: '0'
889
900
  requirements: []
890
- rubygems_version: 3.3.27
891
- signing_key:
901
+ rubygems_version: 3.6.9
892
902
  specification_version: 4
893
903
  summary: Gem for generating Canvas models and migrations and syncing data from Canvas
894
904
  test_files:
@@ -1006,6 +1016,7 @@ test_files:
1006
1016
  - spec/dummy/app/services/live_events/user_event.rb
1007
1017
  - spec/dummy/app/services/live_events/user_updated_event.rb
1008
1018
  - spec/dummy/bin/rails
1019
+ - spec/dummy/config.ru
1009
1020
  - spec/dummy/config/application.rb
1010
1021
  - spec/dummy/config/boot.rb
1011
1022
  - spec/dummy/config/database.yml
@@ -1017,7 +1028,6 @@ test_files:
1017
1028
  - spec/dummy/config/initializers/wrap_parameters.rb
1018
1029
  - spec/dummy/config/routes.rb
1019
1030
  - spec/dummy/config/secrets.yml
1020
- - spec/dummy/config.ru
1021
1031
  - spec/dummy/db/migrate/20190702203621_create_courses.rb
1022
1032
  - spec/dummy/db/migrate/20190702203622_create_accounts.rb
1023
1033
  - spec/dummy/db/migrate/20190702203623_create_terms.rb