canvas_sync 0.27.5 → 0.27.6

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: d6f24c18ebf86f750d70099ea3e005f7036a757b37585c6b90e8cb8118320a6d
4
- data.tar.gz: 1228fee5adaec59e4fbd29b464950d2a1a60e0f4d3d0fd2dfacdacb36ae800e8
3
+ metadata.gz: 989d9d326afba19afe5cb13a4388c8172b8e604a0ef4f6dbfc2ea8e98ee67b49
4
+ data.tar.gz: b110083dd70fb5d125b0935d44aa2321d5b5c5e1e2efa120d1d0c1ecba75ecae
5
5
  SHA512:
6
- metadata.gz: dad20a38ebc24dfb459f6993ad9a24e02a40f5a6c68c4403df3bb90500b0676857e07fb93a582fcd5b28c0a78501d823143c3364e93fbb9a3d9f40134a9af2da
7
- data.tar.gz: fefc18626e5222c0402a399ca8caf3c131e9cebe0ce16df6233ce3cba9904839f0ffc7ccebe3deee2cd7695c2db33735957662935340695a63592385449a91ca
6
+ metadata.gz: 6bb121b90fd24127e96fc76422a954839c88315a9cb7a33a8415c21b1d508a9a1691b2e31f6e5209e3a1146beb5a02113b434bda1c99ccab0e53b4c85eae0a1a
7
+ data.tar.gz: 1751fe22d8d16a80bd2c6e73ebe52ce9838494d56748cdc1142de01afa044071a46aaeab44b6c859326468e9e13777390d9b34c517be1954c16d63744a487de4
@@ -77,7 +77,7 @@ module CanvasSync::Concerns
77
77
  end
78
78
 
79
79
  def canvas_roles
80
- @canvas_roles ||= Role.for_labels(panda_pal_session.canvas_role_labels, launch_account)
80
+ @canvas_roles ||= ::Role.for_labels(panda_pal_session.canvas_role_labels, launch_account)
81
81
  end
82
82
 
83
83
  def canvas_root_account_roles
@@ -6,7 +6,11 @@ module CanvasSync::Concerns
6
6
  extend ActiveSupport::Concern
7
7
 
8
8
  def where!(*args)
9
- return super unless self.respond_to?(:users_via_pseudonym)
9
+ # Check the model class rather than the relation. ActiveRecord::Relation#respond_to?
10
+ # builds the relation's arel as a side effect (via respond_to_missing?), which marks
11
+ # the relation immutable and makes the super call below raise ImmutableRelation on
12
+ # Rails < 6 (e.g. during schema load).
13
+ return super unless klass.respond_to?(:users_via_pseudonym)
10
14
 
11
15
  super.tap do |q|
12
16
  args.select { |a| a.is_a?(Hash) }.each do |hash|
@@ -216,7 +216,7 @@ module CanvasSync
216
216
 
217
217
  case report_status["status"].downcase
218
218
  when "complete"
219
- report_task.class::ProcessJob.perform_later(report_status["attachment"]["url"])
219
+ ProcessJob.perform_later(report_status["attachment"]["url"])
220
220
  when "error", "deleted"
221
221
  max_tries = options[:report_max_tries] || batch_context[:report_max_tries] || report_task.max_tries || MAX_TRIES
222
222
  report_attempt = batch_context[:report_attempt]
@@ -95,8 +95,17 @@ module CanvasSync
95
95
  req
96
96
  end
97
97
 
98
+ ANSI_CODES = { red: 31, green: 32, cyan: 36, italic: 3 }.freeze
99
+ private_constant :ANSI_CODES
100
+
101
+ def self.ansi(text, style)
102
+ return text unless $stdout.tty?
103
+
104
+ "\e[#{ANSI_CODES.fetch(style)}m#{text}\e[0m"
105
+ end
106
+ private_class_method :ansi
107
+
98
108
  def self.pretty_print_required_reports(client = nil)
99
- require 'colorized_string'
100
109
  client ||= canvas_sync_client rescue nil
101
110
 
102
111
  req_reports = required_reports
@@ -107,13 +116,13 @@ module CanvasSync
107
116
  puts "[CanvasSync] Required Custom Reports:"
108
117
  req_reports.each do |report|
109
118
  color = enabled_reports.nil? ? :cyan : (enabled_reports.include?(report) ? :green : :red)
110
- puts "- #{ColorizedString[report].colorize(color)}"
119
+ puts "- #{ansi(report, color)}"
111
120
  if (meta = REPORTS[report]) && (meta[:human_name] || meta[:module_name])
112
121
  puts " #{meta[:human_name]} (#{meta[:module_name]})"
113
122
  end
114
123
  end
115
- puts "- #{ColorizedString["NB: Double check if you know this app requires non-CanvasSync provided models."].italic}"
116
- puts " #{ColorizedString["Non-standard reports must be registered with `CanvasSync.require_report!` from an initializer to be included in this list."].italic}"
124
+ puts "- #{ansi("NB: Double check if you know this app requires non-CanvasSync provided models.", :italic)}"
125
+ puts " #{ansi("Non-standard reports must be registered with `CanvasSync.require_report!` from an initializer to be included in this list.", :italic)}"
117
126
 
118
127
  puts ""
119
128
 
@@ -124,7 +133,7 @@ module CanvasSync
124
133
  base_url = client.config[:prefix] rescue "<CANVAS URL>/"
125
134
  plugins_url = "#{base_url}/plugins/account_reports".gsub(/\/+/, "/")
126
135
  plugins_url += "?#{bits.join("&")}" if bits.any?
127
- puts "Pre-filled link: " + ColorizedString[plugins_url].cyan
136
+ puts "Pre-filled link: " + ansi(plugins_url, :cyan)
128
137
  end
129
138
  end
130
139
  end
@@ -1,3 +1,3 @@
1
1
  module CanvasSync
2
- VERSION = "0.27.5".freeze
2
+ VERSION = "0.27.6".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canvas_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.5
4
+ version: 0.27.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
@@ -421,26 +421,6 @@ dependencies:
421
421
  - - "~>"
422
422
  - !ruby/object:Gem::Version
423
423
  version: 0.1.0
424
- - !ruby/object:Gem::Dependency
425
- name: colorize
426
- requirement: !ruby/object:Gem::Requirement
427
- requirements:
428
- - - "~>"
429
- - !ruby/object:Gem::Version
430
- version: '1.0'
431
- - - "<"
432
- - !ruby/object:Gem::Version
433
- version: '2.0'
434
- type: :runtime
435
- prerelease: false
436
- version_requirements: !ruby/object:Gem::Requirement
437
- requirements:
438
- - - "~>"
439
- - !ruby/object:Gem::Version
440
- version: '1.0'
441
- - - "<"
442
- - !ruby/object:Gem::Version
443
- version: '2.0'
444
424
  email:
445
425
  - pseng@instructure.com
446
426
  executables: []