Ruby version 2.4.1
> BasicObject.public_instance_methods(false)
=> [:!, :==, :!=, :__send__, :equal?, :instance_eval, :instance_exec, :__id__]
> BasicObject.protected_instance_methods
=> []
> BasicObject.private_instance_methods(false)
=> [:method_missing, :singleton_method_added, :singleton_method_removed,
:singleton_method_undefined, :initialize]
> Kernel.class
=> Module
> Kernel.public_instance_methods(false)
=> [:instance_of?, :kind_of?, :is_a?, :tap, :public_send, :public_method, :singleton_method,
:remove_instance_variable, :define_singleton_method, :method, :instance_variable_set, :extend,
:to_enum, :enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?, :freeze, :inspect, :object_id,
:send, :display, :to_s, :nil?, :hash, :class, :singleton_class, :clone, :dup, :itself, :taint,
:tainted?, :untaint, :untrust, :untrusted?, :trust, :frozen?, :methods, :singleton_methods,
:protected_methods, :private_methods, :public_methods, :instance_variable_get,
:instance_variables, :instance_variable_defined?]
> Kernel.protected_instance_methods
=> []
> Kernel.private_instance_methods(false)
=> [:sprintf, :format, :Integer, :Float, :String, :Array, :Hash, :fail, :iterator?, :__method__,
:catch, :__dir__, :loop, :global_variables, :throw, :block_given?, :raise, :__callee__, :eval,
:Rational, :trace_var, :untrace_var, :at_exit, :Complex, :set_trace_func, :gem, :select,
:caller, :caller_locations, :`, :test, :fork, :exit, :sleep, :respond_to_missing?, :load,
:gem_original_require, :exec, :exit!, :syscall, :open, :printf, :print, :putc, :puts,
:readline, :gets, :p, :readlines, :initialize_copy, :initialize_clone, :initialize_dup,
:lambda, :rand, :srand, :proc, :system, :abort, :trap, :require, :require_relative,
:autoload, :autoload?, :binding, :spawn, :local_variables, :warn]
> Kernel.included_modules
=> []
> Object.public_instance_methods(false)
=> []
> Object.protected_instance_methods
=> []
> Object.private_instance_methods(false)
=> [:DelegateClass, :default_src_encoding, :irb_binding]
> Object.included_modules
=> [Kernel]
> Module.public_instance_methods(false)
=> [:<=>, :include, :<=, :>=, :==, :===, :included_modules, :include?, :name, :ancestors,
:instance_methods, :public_instance_methods, :protected_instance_methods, :private_instance_methods,
:constants, :const_get, :const_set, :const_defined?, :class_variables, :remove_class_variable,
:class_variable_get, :class_variable_set, :class_variable_defined?, :public_constant, :private_constant,
:deprecate_constant, :singleton_class?, :module_exec, :class_exec, :freeze, :inspect, :const_missing,
:class_eval, :method_defined?, :public_method_defined?, :prepend, :<, :>, :private_method_defined?,
:protected_method_defined?, :public_class_method, :module_eval, :to_s, :private_class_method,
:autoload, :autoload?, :instance_method, :public_instance_method]
> Module.protected_instance_methods
=> []
> Module.private_instance_methods(false)
=> [:refine, :module_function, :using, :attr, :attr_reader, :attr_writer, :attr_accessor,
:remove_const, :extend_object, :prepend_features, :append_features, :remove_method, :method_added,
:method_removed, :protected, :method_undefined, :undef_method, :public, :private, :initialize,
:initialize_copy, :initialize_clone, :alias_method, :included, :extended, :prepended, :define_method]
> Module.ancestors
=> [Module, Object, Kernel, BasicObject]
> Class.public_instance_methods(false)
=> [:new, :allocate, :superclass]
> Class.protected_instance_methods
=> []
> Class.private_instance_methods(false)
=> [:initialize, :inherited]
> Class.ancestors
=> [Class, Module, Object, Kernel, BasicObject]
> self
=> main
> self.class
=> Object