Enumerable::Arguments

Public Class Methods

wrap_enumerable_method( methodname ) click to toggle source
    # File lib/more/facets/enumargs.rb, line 47
47:   def self.wrap_enumerable_method( methodname )
48: 
49:     m = methodname
50:     meth = Enumerable.instance_method(m)
51:     arity = meth.arity
52: 
53:     case arity <=> 0
54:     when 0
55:       class_eval %{
56:         def #{m}( *args, &yld )
57:           enum_for(:each, *args).#{m}( &yld )
58:         end
59:       }
60:     when 1
61:       class_eval %{
62:         def #{m}( *args, &yld )
63:           args, each_args = args[0...#{arity}], args[#{arity}..-1]
64:           enum_for(:each, *each_args).#{m}( *args, &yld )
65:         end
66:       }
67:     else
68:       class_eval %{
69:         def #{m}( *args, &yld )
70:           enum_for(:each).#{m}( *args, &yld )
71:         end
72:       }
73:     end
74:   end

Public Instance Methods

detect(*args, &yld) click to toggle source
Alias for: find
find(*args, &yld) click to toggle source

Make exception for # (a negative arity method) to accept keyword argument.

  ObjectSpace.find(Class, :ifnone=>lambda{1}) { |e| ... }
  ObjectSpace.find(Class, :ifnone=>lambda{1}) { |e| ... }
    # File lib/more/facets/enumargs.rb, line 91
91:   def find(*args, &yld)  # future use **keys ?
92:     if Hash === args.last and args.last.key?(:ifnone)
93:       ifnone = args.last.delete(:ifnone)
94:       args.pop if args.last.empty?
95:       enum_for(:each, *args).find( ifnone, &yld )
96:     else
97:       enum_for(:each, *args).find( &yld )
98:     end
99:   end
Also aliased as: detect
to_a(*args) click to toggle source
    # File lib/more/facets/enumargs.rb, line 81
81:   def to_a(*args)
82:     map(*args){ |x| x }
83:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.