Class: Skylight::Probes::ActiveModelSerializers::Probe Private
- Defined in:
- lib/skylight/probes/active_model_serializers.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Method Summary collapse
- #install ⇒ Object private
Instance Method Details
#install ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/skylight/probes/active_model_serializers.rb', line 12 def install version = nil # File moved location between version %w[serializer serializers].each do |dir| require "active_model/#{dir}/version" rescue LoadError # rubocop:disable Lint/SuppressedException end version = Gem.loaded_specs["active_model_serializers"].version if Gem.loaded_specs["active_model_serializers"] if !version || version < Gem::Version.new("0.5.0") Skylight.error "Instrumention is only available for ActiveModelSerializers version 0.5.0 and greater." return end # We don't actually support the RCs correctly, requires # a release after 0.10.0.rc3 if version >= Gem::Version.new("0.10.0.rc1") # AS::N is built in to newer versions return end # End users could override as_json without calling super, but it's likely safer # than overriding serializable_array/hash/object. [::ActiveModel::Serializer, ::ActiveModel::ArraySerializer].each { |klass| klass.prepend(Instrumentation) } end |