Sha256: 80e4424ad917bbfceccfd1673a1b099ef14ffb52022c58f29f7e1b7d1414e2c5

Contents?: true

Size: 1.01 KB

Versions: 9

Compression:

Stored size: 1.01 KB

Contents

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

require 'sqreen/frameworks/generic'
require 'sqreen/middleware'
require 'sqreen/error_handling_middleware'
require 'sqreen/sinatra_middleware'

module Sqreen
  module Frameworks
    # Handle Sinatra specific functions
    class SinatraFramework < GenericFramework
      def framework_infos
        h = super
        h[:framework_type] = 'Sinatra'
        h[:framework_version] = Sinatra::VERSION
        h
      end

      def db_settings(options = {})
        adapter = options[:connection_adapter]
        return nil unless adapter

        begin
          adapter_name = adapter.class.const_get 'ADAPTER_NAME'
        rescue
          # FIXME: we may want to log that
          Sqreen.log.warn 'cannot find ADAPTER_NAME'
          return nil
        end
        db_type = DB_MAPPING[adapter_name]
        db_infos = { :name => adapter_name }
        [db_type, db_infos]
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
sqreen-1.18.6-java lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.6 lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.5-java lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.5 lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.4-java lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.4 lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.3-java lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.3 lib/sqreen/frameworks/sinatra.rb
sqreen-1.18.3.beta2 lib/sqreen/frameworks/sinatra.rb