Sha256: 0a2e88da48d80c14111a1c81f664904dc1060b75f155828ba253026d28cb7de7

Contents?: true

Size: 934 Bytes

Versions: 3

Compression:

Stored size: 934 Bytes

Contents

module RestApi
  module Railties
    module ControllerRuntime
      extend ActiveSupport::Concern

      protected

      attr_internal :ra_runtime

      def process_action(action, *args)
        RestApi::LogSubscriber.reset_runtime
        super
      end

      def cleanup_view_runtime
        rt_before_render = RestApi::LogSubscriber.reset_runtime
        runtime = super
        rt_after_render = RestApi::LogSubscriber.reset_runtime
        self.ra_runtime = rt_before_render + rt_after_render
        runtime - rt_after_render
      end

      def append_info_to_payload(payload)
        super
        payload[:ra_runtime] = ra_runtime
      end

      module ClassMethods
        def log_process_action(payload)
          messages, runtime = super, payload[:ra_runtime]
          messages << ("OpenShift API: %.1fms" % runtime.to_f) if !runtime.nil? && runtime > 0
          messages
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openshift-origin-console-1.3.4 app/models/rest_api/railties/controller_runtime.rb
openshift-origin-console-1.3.3 app/models/rest_api/railties/controller_runtime.rb
openshift-origin-console-1.3.2 app/models/rest_api/railties/controller_runtime.rb