panda_pal 5.10.0 → 5.11.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/MIT-LICENSE +0 -0
- data/README.md +19 -21
- data/Rakefile +0 -0
- data/app/assets/config/panda_pal_manifest.js +0 -0
- data/app/assets/javascripts/panda_pal/application.js +0 -0
- data/app/assets/javascripts/panda_pal/lti.js +0 -0
- data/app/assets/stylesheets/panda_pal/application.css +0 -0
- data/app/assets/stylesheets/panda_pal/lti.css +0 -0
- data/app/controllers/panda_pal/api_call_controller.rb +0 -0
- data/app/controllers/panda_pal/application_controller.rb +0 -0
- data/app/controllers/panda_pal/lti_controller.rb +0 -0
- data/app/controllers/panda_pal/lti_v1_p0_controller.rb +0 -0
- data/app/controllers/panda_pal/lti_v1_p3_controller.rb +15 -1
- data/app/helpers/panda_pal/application_helper.rb +0 -0
- data/app/jobs/panda_pal/jobs/grade_passback_job.rb +0 -0
- data/app/lib/lti_xml/base_platform.rb +0 -0
- data/app/lib/lti_xml/bridge_platform.rb +0 -0
- data/app/lib/lti_xml/canvas_platform.rb +0 -0
- data/app/lib/panda_pal/launch_url_helpers.rb +0 -0
- data/app/lib/panda_pal/lti_jwt_validator.rb +0 -0
- data/app/models/panda_pal/api_call.rb +0 -0
- data/app/models/panda_pal/organization.rb +0 -0
- data/app/models/panda_pal/organization_concerns/organization_builder.rb +0 -0
- data/app/models/panda_pal/organization_concerns/settings_validation.rb +0 -0
- data/app/models/panda_pal/organization_concerns/task_scheduling.rb +0 -0
- data/app/models/panda_pal/panda_pal_record.rb +0 -0
- data/app/models/panda_pal/platform/canvas.rb +0 -0
- data/app/models/panda_pal/platform.rb +0 -0
- data/app/models/panda_pal/session.rb +37 -14
- data/app/views/layouts/panda_pal/application.html.erb +0 -0
- data/app/views/panda_pal/lti/launch.html.erb +0 -0
- data/app/views/panda_pal/lti_v1_p3/login.html.erb +0 -0
- data/app/views/panda_pal/partials/_auto_submit_form.html.erb +0 -0
- data/config/dev_lti_key.key +0 -0
- data/config/initializers/apartment.rb +0 -0
- data/config/routes.rb +0 -0
- data/db/migrate/20160412205931_create_panda_pal_organizations.rb +0 -0
- data/db/migrate/20160413135653_create_panda_pal_sessions.rb +0 -0
- data/db/migrate/20160425130344_add_panda_pal_organization_to_session.rb +0 -0
- data/db/migrate/20170106165533_add_salesforce_id_to_organizations.rb +0 -0
- data/db/migrate/20171205183457_encrypt_organization_settings.rb +0 -0
- data/db/migrate/20171205194657_remove_old_organization_settings.rb +0 -0
- data/db/migrate/20220721095653_create_panda_pal_api_calls.rb +0 -0
- data/lib/panda_pal/concerns/ability_helper.rb +0 -0
- data/lib/panda_pal/engine.rb +0 -0
- data/lib/panda_pal/helpers/console_helpers.rb +0 -0
- data/lib/panda_pal/helpers/controller_helper.rb +0 -0
- data/lib/panda_pal/helpers/misc_helper.rb +0 -0
- data/lib/panda_pal/helpers/route_helper.rb +0 -0
- data/lib/panda_pal/helpers/secure_headers.rb +0 -0
- data/lib/panda_pal/helpers/session_replacement.rb +0 -0
- data/lib/panda_pal/helpers.rb +0 -0
- data/lib/panda_pal/plugins.rb +0 -0
- data/lib/panda_pal/version.rb +1 -1
- data/lib/panda_pal.rb +1 -1
- data/lib/tasks/panda_pal_tasks.rake +0 -0
- data/panda_pal.gemspec +0 -0
- data/spec/controllers/panda_pal/api_call_controller_spec.rb +0 -0
- data/spec/dummy/README.rdoc +0 -0
- data/spec/dummy/Rakefile +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +0 -0
- data/spec/dummy/app/assets/stylesheets/application.css +0 -0
- data/spec/dummy/app/controllers/application_controller.rb +0 -0
- data/spec/dummy/app/helpers/application_helper.rb +0 -0
- data/spec/dummy/app/views/layouts/application.html.erb +0 -0
- data/spec/dummy/config/application.rb +0 -0
- data/spec/dummy/config/boot.rb +0 -0
- data/spec/dummy/config/database.yml +0 -0
- data/spec/dummy/config/environment.rb +0 -0
- data/spec/dummy/config/environments/development.rb +0 -0
- data/spec/dummy/config/environments/production.rb +0 -0
- data/spec/dummy/config/environments/test.rb +0 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +0 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -0
- data/spec/dummy/config/initializers/inflections.rb +0 -0
- data/spec/dummy/config/initializers/mime_types.rb +0 -0
- data/spec/dummy/config/initializers/session_store.rb +0 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -0
- data/spec/dummy/config/locales/en.yml +0 -0
- data/spec/dummy/config/routes.rb +0 -0
- data/spec/dummy/config/secrets.yml +0 -0
- data/spec/dummy/config.ru +0 -0
- data/spec/dummy/db/schema.rb +0 -0
- data/spec/dummy/public/404.html +0 -0
- data/spec/dummy/public/422.html +0 -0
- data/spec/dummy/public/500.html +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/panda_pal_organizations.rb +0 -0
- data/spec/factories/panda_pal_sessions.rb +0 -0
- data/spec/models/panda_pal/api_call_spec.rb +0 -0
- data/spec/models/panda_pal/organization/settings_validation_spec.rb +0 -0
- data/spec/models/panda_pal/organization/task_scheduling_spec.rb +0 -0
- data/spec/models/panda_pal/organization_spec.rb +0 -0
- data/spec/models/panda_pal/session_spec.rb +0 -0
- data/spec/rails_helper.rb +0 -0
- data/spec/spec_helper.rb +0 -0
- metadata +37 -37
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 75028dd065a6203af07a828ad23b78340b2b98c467ddc4def4b3935b6af31f15
|
|
4
|
+
data.tar.gz: dda65af42c0372f49c029508f9701093b99b81ca76c3cefa5448a35ba776031a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 911ca0334b047224f269121dd0a65e363c6239d763b73ef7ada18c439a66f29a11c51eae57ca1edfa8ffe18aa6b88bd7677aa41a5239c3517a2bc286668d30be
|
|
7
|
+
data.tar.gz: 25e362c44747b95d1316bec3c50ed508d6bf125a4b62328d1bc0c1a5bc1a498013d67db896422ff2e526ce111a29338f02481972b0a2fbe28d743baa4015ac07
|
data/MIT-LICENSE
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
@@ -57,34 +57,32 @@ Use one of these 6 options in `PandaPal.lti_options` hash.
|
|
|
57
57
|
### Task Scheduling
|
|
58
58
|
`PandaPal` includes an integration with `sidekiq-scheduler`. You can define tasks on an Organization class Stub like so:
|
|
59
59
|
```ruby
|
|
60
|
-
# <your_app>/app/models/
|
|
61
|
-
|
|
60
|
+
# <your_app>/app/models/organization_extension.rb
|
|
61
|
+
module OrganizationExtension
|
|
62
|
+
extend ActiveSupport::Concern
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
# Will invoke CanvasSyncStarterWorker.perform_async() according to the cron schedule
|
|
66
|
-
scheduled_task '0 15 05 * * *', :identifier, worker: CanvasSyncStarterWorker
|
|
64
|
+
# Will invoke CanvasSyncStarterWorker.perform_async() according to the cron schedule
|
|
65
|
+
scheduled_task '0 15 05 * * *', :identifier, worker: CanvasSyncStarterWorker
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
# Will invoke the method 'organization_method' on the Organization
|
|
68
|
+
scheduled_task '0 15 05 * * *', :organization_method_and_identifier
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
# If you need to invoke the same method on multiple schedules
|
|
71
|
+
scheduled_task '0 15 05 * * *', :identifier, worker: :organization_method
|
|
73
72
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
# You can also use a block
|
|
74
|
+
scheduled_task '0 15 05 * * *', :identifier do
|
|
75
|
+
# Do Stuff
|
|
76
|
+
end
|
|
78
77
|
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
# You can use a Proc (called in the context of the Organization) to determine the schedule
|
|
79
|
+
scheduled_task -> { settings[:cron] }, :identifier
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
# You can specify a timezone. If a TZ is not coded and settings[:timezone] is present, it will be appended automatically
|
|
82
|
+
scheduled_task '0 15 05 * * * America/Denver', :identifier, worker: :organization_method
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
end
|
|
84
|
+
# Setting settings[:task_schedules][:identifier] will override the code cron schedule. Setting it to false will disable the Task
|
|
85
|
+
# :identifer values _must_ be unique, but can be nil, in which case they will be determined by where (lineno etc) scheduled_task is called
|
|
88
86
|
end
|
|
89
87
|
```
|
|
90
88
|
|
data/Rakefile
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -10,6 +10,7 @@ module PandaPal
|
|
|
10
10
|
|
|
11
11
|
before_action :validate_launch!, only: [:resource_link_request]
|
|
12
12
|
around_action :switch_tenant, only: [:resource_link_request]
|
|
13
|
+
before_action :enforce_environment!, only: [:resource_link_request]
|
|
13
14
|
|
|
14
15
|
# Redirect to beta/test as necessary
|
|
15
16
|
before_action :forward_to_env_and_region, only: [:login]
|
|
@@ -19,6 +20,8 @@ module PandaPal
|
|
|
19
20
|
|
|
20
21
|
current_session_data[:lti_platform] = @current_lti_platform&.serialize
|
|
21
22
|
current_session_data[:lti_oauth_nonce] = SecureRandom.uuid
|
|
23
|
+
current_session_data[:canvas_environment] = params['canvas_environment']
|
|
24
|
+
current_session_data[:canvas_region] = params['canvas_region']
|
|
22
25
|
current_session.panda_pal_organization_id = -1
|
|
23
26
|
|
|
24
27
|
@form_action = current_lti_platform.authentication_redirect_url
|
|
@@ -128,7 +131,7 @@ module PandaPal
|
|
|
128
131
|
if (canvas_env = params['canvas_environment']).present?
|
|
129
132
|
tdomain = PandaPal.lti_environments[:"#{canvas_env}_domain"]
|
|
130
133
|
|
|
131
|
-
if tdomain.present? && !request.url.include?(tdomain)
|
|
134
|
+
if tdomain.present? && !request.url.include?(tdomain) && PandaPal.lti_environments[:domain].present?
|
|
132
135
|
return url.gsub(PandaPal.lti_environments[:domain], tdomain)
|
|
133
136
|
end
|
|
134
137
|
end
|
|
@@ -136,6 +139,17 @@ module PandaPal
|
|
|
136
139
|
url
|
|
137
140
|
end
|
|
138
141
|
|
|
142
|
+
def enforce_environment!
|
|
143
|
+
canvas_env = current_session_data[:canvas_environment]
|
|
144
|
+
return unless canvas_env.present?
|
|
145
|
+
|
|
146
|
+
org_canvas_url = current_organization.canvas_url
|
|
147
|
+
|
|
148
|
+
if (canvas_env == 'beta' || canvas_env == 'test') && org_canvas_url.present && !org_canvas_url.include?(".#{canvas_env}.")
|
|
149
|
+
render plain: "This tool is not properly configured for use in #{canvas_env}", status: 400
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
139
153
|
private
|
|
140
154
|
|
|
141
155
|
def auth_redirect_query
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -42,24 +42,39 @@ module PandaPal
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def custom_lti_params
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
@custom_lti_params ||= begin
|
|
46
|
+
# LT 1.3
|
|
47
|
+
custom_params = launch_params["https://purl.imsglobal.org/spec/lti/claim/custom"]
|
|
48
|
+
return custom_params if custom_params.present?
|
|
49
|
+
|
|
50
|
+
# LTI 1.0/1.1
|
|
51
|
+
custom_params = {}
|
|
52
|
+
launch_params.each do |k, v|
|
|
53
|
+
next unless k.start_with?("custom_")
|
|
54
|
+
custom_params[k[7..-1]] = v
|
|
55
|
+
end
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
custom_params.with_indifferent_access
|
|
58
|
+
end
|
|
57
59
|
end
|
|
58
60
|
|
|
59
|
-
def get_lti_cust_param(key)
|
|
61
|
+
def get_lti_cust_param(key, default: :if_not_var)
|
|
60
62
|
nkey = key.to_s.gsub(/^custom_/, '')
|
|
63
|
+
default_value = ->() { PandaPal.lti_custom_params[nkey] || PandaPal.lti_custom_params["custom_#{nkey}"] }
|
|
61
64
|
|
|
62
|
-
launch_params.dig("https://purl.imsglobal.org/spec/lti/claim/custom", nkey) || launch_params[nkey] || launch_params["custom_#{nkey}"]
|
|
65
|
+
val = launch_params.dig("https://purl.imsglobal.org/spec/lti/claim/custom", nkey) || launch_params[nkey] || launch_params["custom_#{nkey}"]
|
|
66
|
+
|
|
67
|
+
if default == :if_not_var
|
|
68
|
+
if val.is_a?(String) && /\$[\.\w]+/.match?(val) && val == default_value[]
|
|
69
|
+
return nil
|
|
70
|
+
end
|
|
71
|
+
elsif default && !val.present?
|
|
72
|
+
return default_value[]
|
|
73
|
+
elsif !default && val == default_value[]
|
|
74
|
+
return nil
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
val
|
|
63
78
|
end
|
|
64
79
|
|
|
65
80
|
def canvas_role_labels
|
|
@@ -71,7 +86,7 @@ module PandaPal
|
|
|
71
86
|
account = 'self' if account.to_s == "root"
|
|
72
87
|
account = account.canvas_id if account.respond_to?(:canvas_id)
|
|
73
88
|
|
|
74
|
-
if
|
|
89
|
+
if defined?(::Admin) && ::Admin < ::ActiveRecord::Base
|
|
75
90
|
account = current_organization.canvas_account_id if account == 'self'
|
|
76
91
|
adm_query = ::Admin.where(canvas_account_id: account, workflow_state: "active")
|
|
77
92
|
adm_query.pluck(:role_name)
|
|
@@ -88,6 +103,14 @@ module PandaPal
|
|
|
88
103
|
@lti_roles ||= RoleStore.new(launch_params["https://purl.imsglobal.org/spec/lti/claim/roles"] || launch_params['ext_roles'] || '')
|
|
89
104
|
end
|
|
90
105
|
|
|
106
|
+
def canvas_user_id
|
|
107
|
+
get_lti_cust_param('canvas_user_id')
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def user
|
|
111
|
+
@user ||= ::User.find_by(canvas_id: canvas_user_id) if defined?(::User) && ::User < ::ActiveRecord::Base
|
|
112
|
+
end
|
|
113
|
+
|
|
91
114
|
def canvas_site_admin?
|
|
92
115
|
lti_roles.system_roles.include?("sys_admin")
|
|
93
116
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/config/dev_lti_key.key
CHANGED
|
File without changes
|
|
File without changes
|
data/config/routes.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/panda_pal/engine.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/panda_pal/helpers.rb
CHANGED
|
File without changes
|
data/lib/panda_pal/plugins.rb
CHANGED
|
File without changes
|
data/lib/panda_pal/version.rb
CHANGED
data/lib/panda_pal.rb
CHANGED
|
File without changes
|
data/panda_pal.gemspec
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/dummy/README.rdoc
CHANGED
|
File without changes
|
data/spec/dummy/Rakefile
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/dummy/config/boot.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/dummy/config/routes.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/dummy/config.ru
CHANGED
|
File without changes
|
data/spec/dummy/db/schema.rb
CHANGED
|
File without changes
|
data/spec/dummy/public/404.html
CHANGED
|
File without changes
|
data/spec/dummy/public/422.html
CHANGED
|
File without changes
|
data/spec/dummy/public/500.html
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/rails_helper.rb
CHANGED
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
|
File without changes
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: panda_pal
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.11.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Instructure CustomDev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-10-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -409,52 +409,52 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
409
409
|
- !ruby/object:Gem::Version
|
|
410
410
|
version: '0'
|
|
411
411
|
requirements: []
|
|
412
|
-
rubygems_version: 3.1
|
|
412
|
+
rubygems_version: 3.0.3.1
|
|
413
413
|
signing_key:
|
|
414
414
|
specification_version: 4
|
|
415
415
|
summary: LTI mountable engine
|
|
416
416
|
test_files:
|
|
417
|
-
- spec/rails_helper.rb
|
|
418
|
-
- spec/models/panda_pal/api_call_spec.rb
|
|
419
|
-
- spec/models/panda_pal/organization_spec.rb
|
|
420
|
-
- spec/models/panda_pal/session_spec.rb
|
|
421
|
-
- spec/models/panda_pal/organization/settings_validation_spec.rb
|
|
422
|
-
- spec/models/panda_pal/organization/task_scheduling_spec.rb
|
|
423
|
-
- spec/controllers/panda_pal/api_call_controller_spec.rb
|
|
424
417
|
- spec/spec_helper.rb
|
|
425
|
-
- spec/dummy/db/schema.rb
|
|
426
|
-
- spec/dummy/public/422.html
|
|
427
|
-
- spec/dummy/public/favicon.ico
|
|
428
|
-
- spec/dummy/public/404.html
|
|
429
|
-
- spec/dummy/public/500.html
|
|
430
|
-
- spec/dummy/Rakefile
|
|
431
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
|
432
418
|
- spec/dummy/app/controllers/application_controller.rb
|
|
433
|
-
- spec/dummy/app/
|
|
434
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
|
419
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
|
435
420
|
- spec/dummy/app/assets/javascripts/application.js
|
|
421
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
|
422
|
+
- spec/dummy/app/helpers/application_helper.rb
|
|
423
|
+
- spec/dummy/bin/rake
|
|
424
|
+
- spec/dummy/bin/setup
|
|
425
|
+
- spec/dummy/bin/bundle
|
|
426
|
+
- spec/dummy/bin/rails
|
|
436
427
|
- spec/dummy/config/secrets.yml
|
|
437
|
-
- spec/dummy/config/
|
|
438
|
-
- spec/dummy/config/
|
|
439
|
-
- spec/dummy/config/
|
|
440
|
-
- spec/dummy/config/initializers/inflections.rb
|
|
441
|
-
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
|
442
|
-
- spec/dummy/config/initializers/mime_types.rb
|
|
443
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
444
|
-
- spec/dummy/config/initializers/cookies_serializer.rb
|
|
428
|
+
- spec/dummy/config/routes.rb
|
|
429
|
+
- spec/dummy/config/locales/en.yml
|
|
430
|
+
- spec/dummy/config/environments/production.rb
|
|
445
431
|
- spec/dummy/config/environments/development.rb
|
|
446
432
|
- spec/dummy/config/environments/test.rb
|
|
447
|
-
- spec/dummy/config/
|
|
433
|
+
- spec/dummy/config/environment.rb
|
|
434
|
+
- spec/dummy/config/application.rb
|
|
448
435
|
- spec/dummy/config/database.yml
|
|
449
436
|
- spec/dummy/config/boot.rb
|
|
450
|
-
- spec/dummy/config/
|
|
451
|
-
- spec/dummy/config/
|
|
452
|
-
- spec/dummy/config/
|
|
453
|
-
- spec/dummy/
|
|
437
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
438
|
+
- spec/dummy/config/initializers/mime_types.rb
|
|
439
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
|
440
|
+
- spec/dummy/config/initializers/session_store.rb
|
|
441
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
442
|
+
- spec/dummy/config/initializers/cookies_serializer.rb
|
|
443
|
+
- spec/dummy/config/initializers/inflections.rb
|
|
454
444
|
- spec/dummy/config.ru
|
|
455
|
-
- spec/dummy/
|
|
456
|
-
- spec/dummy/
|
|
457
|
-
- spec/dummy/
|
|
458
|
-
- spec/dummy/
|
|
459
|
-
- spec/
|
|
445
|
+
- spec/dummy/Rakefile
|
|
446
|
+
- spec/dummy/public/favicon.ico
|
|
447
|
+
- spec/dummy/public/422.html
|
|
448
|
+
- spec/dummy/public/500.html
|
|
449
|
+
- spec/dummy/public/404.html
|
|
450
|
+
- spec/dummy/db/schema.rb
|
|
451
|
+
- spec/dummy/README.rdoc
|
|
452
|
+
- spec/models/panda_pal/organization/settings_validation_spec.rb
|
|
453
|
+
- spec/models/panda_pal/organization/task_scheduling_spec.rb
|
|
454
|
+
- spec/models/panda_pal/session_spec.rb
|
|
455
|
+
- spec/models/panda_pal/api_call_spec.rb
|
|
456
|
+
- spec/models/panda_pal/organization_spec.rb
|
|
460
457
|
- spec/factories/panda_pal_sessions.rb
|
|
458
|
+
- spec/factories/panda_pal_organizations.rb
|
|
459
|
+
- spec/controllers/panda_pal/api_call_controller_spec.rb
|
|
460
|
+
- spec/rails_helper.rb
|