Sha256: fd19fdb3f564ae2f753ebd9109b1ce1e6eda056782d14ada9855140b503d95f8

Contents?: true

Size: 754 Bytes

Versions: 10

Compression:

Stored size: 754 Bytes

Contents

require 'sqreen/ecosystem/loggable'

module Sqreen
  module Ecosystem
    # The API that the transport/tracing modules are written against
    module ModuleApi
      TRACE_ID_HEADER = 'X-Sqreen-Trace-Identifier'.freeze
      TRACE_ID_ENV_KEY = 'HTTP_X_SQREEN_TRACE_IDENTIFIER'.freeze

      Loggable = Sqreen::Ecosystem::Loggable

      module ClassMethods
        attr_writer :module_name

        def module_name
          if instance_variable_defined?(:@module_name)
            @module_name
          else
            # to snake case
            @module_name = to_s.sub(/.*::/, '').gsub(/([a-z])([A-Z])/, '\1_\2').downcase
          end
        end
      end

      def self.included(mod)
        mod.extend(ClassMethods)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sqreen-1.22.0-java lib/sqreen/ecosystem/module_api.rb
sqreen-1.22.0 lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.1-java lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.1 lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.0-java lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.0 lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.0.beta3-java lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.0.beta3 lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.0.beta2 lib/sqreen/ecosystem/module_api.rb
sqreen-1.21.0.beta1 lib/sqreen/ecosystem/module_api.rb