panda_pal 1.0.5 → 2.0.0
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 +4 -4
- data/app/controllers/panda_pal/lti_controller.rb +1 -1
- data/app/models/panda_pal/session.rb +1 -1
- data/config/initializers/apartment.rb +1 -1
- data/db/migrate/20160412205931_create_panda_pal_organizations.rb +1 -1
- data/db/migrate/20160413135653_create_panda_pal_sessions.rb +1 -1
- data/db/migrate/20160425130344_add_panda_pal_organization_to_session.rb +1 -1
- data/db/migrate/20170106165533_add_salesforce_id_to_organizations.rb +1 -1
- data/lib/panda_pal/engine.rb +0 -1
- data/lib/panda_pal/plugins.rb +1 -1
- data/lib/panda_pal/version.rb +1 -1
- data/panda_pal.gemspec +4 -6
- metadata +9 -39
- data/config/initializers/delayed_job.rb +0 -1
- data/db/migrate/20160413132229_create_delayed_jobs.rb +0 -23
- data/lib/panda_pal/plugins/apartment_delayed_jobs_plugin.rb +0 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ab758dc4994760c0c91ba55bce063fc48ea21f1
|
4
|
+
data.tar.gz: f78acd01750b1da73ab02f6afda4bf519d86833b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20edbe332ee651b90b28b4fc3e31a9f419d8ab8fe4d524bd06c740cd317891904a78325e3b08da626ec14c067c7f9b15566457b87c145d427eed47a55106941b
|
7
|
+
data.tar.gz: 29ff89b6b555eeec77c8ec749d56e587b34dd2417a399a9188660f3c8aea10a9174bde3471d6808254611947e5640d18938c99e21c02ff04935a1e7efd0929a0
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'apartment/elevators/generic'
|
2
2
|
|
3
3
|
Apartment.configure do |config|
|
4
|
-
config.excluded_models = ['PandaPal::Organization', 'PandaPal::Session'
|
4
|
+
config.excluded_models = ['PandaPal::Organization', 'PandaPal::Session']
|
5
5
|
|
6
6
|
config.tenant_names = lambda {
|
7
7
|
PandaPal::Organization.pluck(:name)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class AddPandaPalOrganizationToSession < ActiveRecord::Migration
|
1
|
+
class AddPandaPalOrganizationToSession < ActiveRecord::Migration[5.1]
|
2
2
|
def change
|
3
3
|
add_column :panda_pal_sessions, :panda_pal_organization_id, :integer
|
4
4
|
add_index :panda_pal_sessions, :panda_pal_organization_id
|
data/lib/panda_pal/engine.rb
CHANGED
data/lib/panda_pal/plugins.rb
CHANGED
data/lib/panda_pal/version.rb
CHANGED
data/panda_pal.gemspec
CHANGED
@@ -6,8 +6,8 @@ require "panda_pal/version"
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "panda_pal"
|
8
8
|
s.version = PandaPal::VERSION
|
9
|
-
s.authors = ["Ben Young"]
|
10
|
-
s.email = ["byoung@instructure.com"]
|
9
|
+
s.authors = ["Ben Young", "Cody Tanner"]
|
10
|
+
s.email = ["byoung@instructure.com", "ctanner@instructure.com"]
|
11
11
|
s.homepage = "http://instructure.com"
|
12
12
|
s.summary = "LTI mountable engine"
|
13
13
|
s.license = "MIT"
|
@@ -15,13 +15,11 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc", "panda_pal.gemspec"]
|
16
16
|
s.test_files = Dir["spec/**/*"]
|
17
17
|
|
18
|
-
s.add_dependency "rails", ">=
|
19
|
-
s.add_dependency "pg", '~> 0.
|
18
|
+
s.add_dependency "rails", ">= 5.1.0"
|
19
|
+
s.add_dependency "pg", '~> 0.20'
|
20
20
|
s.add_dependency 'apartment', '~> 1.2.0'
|
21
|
-
s.add_dependency 'delayed_job_active_record'
|
22
21
|
s.add_dependency 'ims-lti', '~> 2.1.0'
|
23
22
|
|
24
|
-
s.add_development_dependency 'sqlite3'
|
25
23
|
s.add_development_dependency 'rspec-rails'
|
26
24
|
s.add_development_dependency 'factory_girl_rails'
|
27
25
|
s.add_development_dependency 'test_after_commit'
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: panda_pal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Young
|
8
|
+
- Cody Tanner
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2017-
|
12
|
+
date: 2017-05-12 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rails
|
@@ -16,28 +17,28 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - ">="
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
+
version: 5.1.0
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
+
version: 5.1.0
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: pg
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
32
|
- - "~>"
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
34
|
+
version: '0.20'
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
39
|
- - "~>"
|
39
40
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
41
|
+
version: '0.20'
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: apartment
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +53,6 @@ dependencies:
|
|
52
53
|
- - "~>"
|
53
54
|
- !ruby/object:Gem::Version
|
54
55
|
version: 1.2.0
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: delayed_job_active_record
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
56
|
- !ruby/object:Gem::Dependency
|
70
57
|
name: ims-lti
|
71
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,20 +67,6 @@ dependencies:
|
|
80
67
|
- - "~>"
|
81
68
|
- !ruby/object:Gem::Version
|
82
69
|
version: 2.1.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: sqlite3
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
70
|
- !ruby/object:Gem::Dependency
|
98
71
|
name: rspec-rails
|
99
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,6 +112,7 @@ dependencies:
|
|
139
112
|
description:
|
140
113
|
email:
|
141
114
|
- byoung@instructure.com
|
115
|
+
- ctanner@instructure.com
|
142
116
|
executables: []
|
143
117
|
extensions: []
|
144
118
|
extra_rdoc_files: []
|
@@ -157,10 +131,8 @@ files:
|
|
157
131
|
- app/views/layouts/panda_pal/application.html.erb
|
158
132
|
- app/views/panda_pal/lti/launch.html.erb
|
159
133
|
- config/initializers/apartment.rb
|
160
|
-
- config/initializers/delayed_job.rb
|
161
134
|
- config/routes.rb
|
162
135
|
- db/migrate/20160412205931_create_panda_pal_organizations.rb
|
163
|
-
- db/migrate/20160413132229_create_delayed_jobs.rb
|
164
136
|
- db/migrate/20160413135653_create_panda_pal_sessions.rb
|
165
137
|
- db/migrate/20160425130344_add_panda_pal_organization_to_session.rb
|
166
138
|
- db/migrate/20170106165533_add_salesforce_id_to_organizations.rb
|
@@ -170,7 +142,6 @@ files:
|
|
170
142
|
- lib/panda_pal/helpers/controller_helper.rb
|
171
143
|
- lib/panda_pal/helpers/route_helper.rb
|
172
144
|
- lib/panda_pal/plugins.rb
|
173
|
-
- lib/panda_pal/plugins/apartment_delayed_jobs_plugin.rb
|
174
145
|
- lib/panda_pal/version.rb
|
175
146
|
- lib/tasks/panda_pal_tasks.rake
|
176
147
|
- panda_pal.gemspec
|
@@ -238,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
238
209
|
version: '0'
|
239
210
|
requirements: []
|
240
211
|
rubyforge_project:
|
241
|
-
rubygems_version: 2.
|
212
|
+
rubygems_version: 2.5.2
|
242
213
|
signing_key:
|
243
214
|
specification_version: 4
|
244
215
|
summary: LTI mountable engine
|
@@ -287,4 +258,3 @@ test_files:
|
|
287
258
|
- spec/models/panda_pal/session_spec.rb
|
288
259
|
- spec/rails_helper.rb
|
289
260
|
- spec/spec_helper.rb
|
290
|
-
has_rdoc:
|
@@ -1 +0,0 @@
|
|
1
|
-
Delayed::Worker.plugins << PandaPal::Plugins::ApartmentDelayedJobsPlugin
|
@@ -1,23 +0,0 @@
|
|
1
|
-
class CreateDelayedJobs < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :delayed_jobs, force: true do |table|
|
4
|
-
table.integer :priority, default: 0, null: false # Allows some jobs to jump to the front of the queue
|
5
|
-
table.integer :attempts, default: 0, null: false # Provides for retries, but still fail eventually.
|
6
|
-
table.text :handler, null: false # YAML-encoded string of the object that will do work
|
7
|
-
table.text :last_error # reason for last failure (See Note below)
|
8
|
-
table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future.
|
9
|
-
table.datetime :locked_at # Set when a client is working on this object
|
10
|
-
table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead)
|
11
|
-
table.string :locked_by # Who is working on this object (if locked)
|
12
|
-
table.string :queue # The name of the queue this job is in
|
13
|
-
table.string :tenant
|
14
|
-
table.timestamps null: true
|
15
|
-
end
|
16
|
-
|
17
|
-
add_index :delayed_jobs, [:priority, :run_at], name: "delayed_jobs_priority"
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.down
|
21
|
-
drop_table :delayed_jobs
|
22
|
-
end
|
23
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module PandaPal::Plugins
|
2
|
-
class ApartmentDelayedJobsPlugin < ::Delayed::Plugin
|
3
|
-
callbacks do |lifecycle|
|
4
|
-
lifecycle.around(:enqueue) do |job, *args, &block|
|
5
|
-
current_tenant = Apartment::Tenant.current
|
6
|
-
|
7
|
-
#make sure enqueue on public tenant unless we are testing since delayed job is set to run immediately
|
8
|
-
Apartment::Tenant.switch!('public') unless Rails.env.test?
|
9
|
-
job.tenant = current_tenant
|
10
|
-
begin
|
11
|
-
block.call(job, *args)
|
12
|
-
rescue Exception => e
|
13
|
-
Rails.logger.error("Error enqueing job #{job.to_s} - #{e.backtrace}")
|
14
|
-
ensure
|
15
|
-
#switch back to prev tenant
|
16
|
-
Apartment::Tenant.switch!(current_tenant)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
|
21
|
-
lifecycle.before(:perform) do |worker, *args, &block|
|
22
|
-
tenant = args.first.tenant
|
23
|
-
Apartment::Tenant.switch!(tenant) if tenant.present?
|
24
|
-
Rails.logger.debug("Running job with tenant #{Apartment::Tenant.current}")
|
25
|
-
end
|
26
|
-
|
27
|
-
lifecycle.around(:invoke_job) do |job, *args, &block|
|
28
|
-
begin
|
29
|
-
block.call(job, *args)
|
30
|
-
ensure
|
31
|
-
Apartment::Tenant.switch!('public')
|
32
|
-
Rails.logger.debug("Resetting Tenant back to: #{Apartment::Tenant.current}")
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
lifecycle.after(:failure) do |job, *args|
|
37
|
-
Rails.logger.error("Job failed on tenant: #{Apartment::Tenant.current}")
|
38
|
-
end
|
39
|
-
|
40
|
-
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|