diff --git a/mrbgems/mruby-errno/mrblib/errno.rb b/mrbgems/mruby-errno/mrblib/errno.rb index 52899396b..b85f705ee 100644 --- a/mrbgems/mruby-errno/mrblib/errno.rb +++ b/mrbgems/mruby-errno/mrblib/errno.rb @@ -1,14 +1,49 @@ module Errno + # + # call-seq: + # Errno.const_defined?(name) -> true or false + # + # Returns true if the given name is defined as an errno constant, + # false otherwise. This method checks both system-defined errno + # constants and those defined by the superclass. + # + # Errno.const_defined?(:ENOENT) #=> true + # Errno.const_defined?(:EINVAL) #=> true + # Errno.const_defined?(:UNKNOWN) #=> false + # def Errno.const_defined?(name) __errno_defined?(name) or super end + # + # call-seq: + # Errno.const_missing(name) -> errno_class + # + # Called when an undefined constant is referenced. This method + # attempts to define the errno constant if it exists in the system, + # otherwise delegates to the superclass. + # + # Errno::ENOENT # triggers const_missing if not yet defined + # #=> Errno::ENOENT + # def Errno.const_missing(name) __errno_define(name) or super end - # Module#constants is defined in mruby-metaprog - # So, it may be raised NoMethodError + # + # call-seq: + # Errno.constants -> array + # + # Returns an array of all errno constant names available on the system. + # This includes both already defined constants and those that can be + # dynamically defined. + # + # Errno.constants + # #=> [:EPERM, :ENOENT, :ESRCH, :EINTR, :EIO, ...] + # + # Note: Module#constants is defined in mruby-metaprog, so this method + # may raise NoMethodError if that gem is not available. + # def Errno.constants __errno_list(super) end