Module: RIO::Match::Entry

Defined in:
lib/rio/entrysel.rb,
lib/rio/entrysel.rb

Defined Under Namespace

Classes: And, Any, Base, Depth, Glob, List, None, PathGlob, PathRegexp, Proc, Regexp, Selector, SelectorClassic, Sels, Symbol

Class Method Summary collapse

Class Method Details

.create(arg) ⇒ Object



103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/rio/entrysel.rb', line 103

def create(arg)
  case arg
  when ::Fixnum     then Depth.new(arg)
  when ::Range     then Depth.new(arg)
  when ::String     then Glob.new(arg)
  when ::Regexp     then Regexp.new(arg)
  when ::Proc       then Proc.new(arg)
  when ::Symbol     then Symbol.new(arg)
  when ::TrueClass  then Any.new(arg)
  when ::FalseClass then None.new(arg)
  when ::Array      then And.new(arg)
  else raise ArgumentError,"a String,Regexp,Proc or Symbol is required (#{arg})"
  end
end