Sha256: 8bf94a36b86cf400128b025a1cf1a2f3d64316e6353bcec4ad39ff22ff67498f

Contents?: true

Size: 611 Bytes

Versions: 15

Compression:

Stored size: 611 Bytes

Contents

require "sapience"
require "sapience/extensions/grape/timings"
require "sapience/extensions/grape/middleware/logging"

module Grape
  class API
    def self.descendants # :nodoc:
      descendants = []
      ObjectSpace.each_object(singleton_class) do |k|
        descendants.unshift k unless k == self
      end
      descendants
    end
  end
end

module Sapience
  class Grape
    Sapience.configure
    ::Grape::API.send(:include, Sapience::Loggable)
    ::Grape::API.descendants.each do |api|
      api.send(:use, Sapience::Extensions::Grape::Middleware::Logging, logger: Sapience[self])
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
sapience-0.2.2 lib/sapience/grape.rb
sapience-0.2.1 lib/sapience/grape.rb
sapience-0.2.0 lib/sapience/grape.rb
sapience-0.1.13 lib/sapience/grape.rb
sapience-0.1.12 lib/sapience/grape.rb
sapience-0.1.11 lib/sapience/grape.rb
sapience-0.1.10 lib/sapience/grape.rb
sapience-0.1.9 lib/sapience/grape.rb
sapience-0.1.8 lib/sapience/grape.rb
sapience-0.1.7 lib/sapience/grape.rb
sapience-0.1.6 lib/sapience/grape.rb
sapience-0.1.5 lib/sapience/grape.rb
sapience-0.1.4 lib/sapience/grape.rb
sapience-0.1.3 lib/sapience/grape.rb
sapience-0.1.2 lib/sapience/grape.rb