module Rbenchmarker::ClassMethods

Public Instance Methods

call_register_rbenchmarker_methods(options) click to toggle source
# File lib/rbenchmarker/class_methods.rb, line 35
def call_register_rbenchmarker_methods(options)
  options[:target_obj] = self
  Rbenchmarker::RegisterRbenchmarkerMethods.register_rbenchmarker_methods(**options)
end
rbenchmarker(**options) click to toggle source
# File lib/rbenchmarker/class_methods.rb, line 12
def rbenchmarker(**options)
  rbenchmarker_validation_check(options)

  options[:only] = options[:only].map(&:to_sym) if options[:only]
  options[:except] = options[:except].map(&:to_sym) if options[:except]
  options[:added] = options[:added].map(&:to_sym) if options[:added]

  granted_modules = {}
  granted_modules[:prepend] = options.delete(:prepend) if options[:prepend]
  granted_modules[:include] = options.delete(:include) if options[:include]
  granted_modules[:extend] = options.delete(:extend) if options[:extend]

  if instance_of?(Module)
    options[:object_type] = 'Module'
    Rbenchmarker.add_module [self, options]
  else
    options[:object_type] = 'Class'
    Rbenchmarker.add_class [self, options]
  end

  Rbenchmarker.add_object_with_modules([self, granted_modules])
end