diff options
Diffstat (limited to 'config/initializers')
-rw-r--r-- | config/initializers/active_model_serializers.rb | 19 | ||||
-rw-r--r-- | config/initializers/omniauth.rb | 2 |
2 files changed, 20 insertions, 1 deletions
diff --git a/config/initializers/active_model_serializers.rb b/config/initializers/active_model_serializers.rb index 0e69e1d96..329a5fb2c 100644 --- a/config/initializers/active_model_serializers.rb +++ b/config/initializers/active_model_serializers.rb @@ -3,3 +3,22 @@ ActiveModelSerializers.config.tap do |config| end ActiveSupport::Notifications.unsubscribe(ActiveModelSerializers::Logging::RENDER_EVENT) + +class ActiveModel::Serializer::Reflection + # We monkey-patch this method so that when we include associations in a serializer, + # the nested serializers can send information about used contexts upwards back to + # the root. We do this via instance_options because the nesting can be dynamic. + def build_association(parent_serializer, parent_serializer_options, include_slice = {}) + serializer = options[:serializer] + + parent_serializer_options.merge!(named_contexts: serializer._named_contexts, context_extensions: serializer._context_extensions) if serializer.respond_to?(:_named_contexts) + + association_options = { + parent_serializer: parent_serializer, + parent_serializer_options: parent_serializer_options, + include_slice: include_slice, + } + + ActiveModel::Serializer::Association.new(self, association_options) + end +end diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 254e751d4..e8d7697a1 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -14,7 +14,7 @@ Devise.setup do |config| cas_options[:host] = ENV['CAS_HOST'] if ENV['CAS_HOST'] cas_options[:port] = ENV['CAS_PORT'] if ENV['CAS_PORT'] cas_options[:ssl] = ENV['CAS_SSL'] == 'true' if ENV['CAS_SSL'] - cas_options[:validate_url] = ENV['CAS_VALIDATE_URL'] if ENV['CAS_VALIDATE_URL'] + cas_options[:service_validate_url] = ENV['CAS_VALIDATE_URL'] if ENV['CAS_VALIDATE_URL'] cas_options[:callback_url] = ENV['CAS_CALLBACK_URL'] if ENV['CAS_CALLBACK_URL'] cas_options[:logout_url] = ENV['CAS_LOGOUT_URL'] if ENV['CAS_LOGOUT_URL'] cas_options[:login_url] = ENV['CAS_LOGIN_URL'] if ENV['CAS_LOGIN_URL'] |