lib/rio/matchrecord.rb in rio-0.4.2 vs lib/rio/matchrecord.rb in rio-0.5.1
- old
+ new
@@ -1,8 +1,8 @@
#--
-# ===============================================================================
-# Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
+# ===========================================================================
+# Copyright (c) 2005-2012 Christopher Kleckner
# All rights reserved
#
# This file is part of the Rio library for ruby.
#
# Rio is free software; you can redistribute it and/or modify
@@ -16,24 +16,13 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Rio; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-# ===============================================================================
+# ===========================================================================
#++
#
-# To create the documentation for Rio run the command
-# ruby build_doc.rb
-# from the distribution directory.
-#
-# Suggested Reading
-# * RIO::Doc::SYNOPSIS
-# * RIO::Doc::INTRO
-# * RIO::Doc::HOWTO
-# * RIO::Doc::EXAMPLES
-# * RIO::Rio
-#
module RIO
module Match #:nodoc: all
module Record
@@ -200,11 +189,11 @@
# raise ArgumentError,"Argument must be a Regexp,Range,Fixnum,Proc, or Symbol"
# end
end
def match?(val,recno)
# !@list.nil? && (@list.empty? || @list.detect { |sel| sel.match?(val,recno) } || false) && true
- return false if @list.nil?
+ return false unless @list
return true if @list.empty?
as = nil
al = @list.detect { |sel| as = sel.match?(val,recno)
#p "1: #{$1} as[match?]: #{as.inspect}"
as
@@ -266,12 +255,14 @@
def never?()
@always == false
end
def match?(val,recno)
#p "match?(#{val},#{recno}) #{self.inspect}"
- return @always unless @always.nil?
+ return @always if @always
+ #return @always unless @always.nil?
as = nil
- ok = ((!@sel.nil? && (as = @sel.match?(val,recno))) && !(!@rej.nil? && @rej.match?(val,recno)))
+ #ok = ((!@sel.nil? && (as = @sel.match?(val,recno))) && !(!@rej.nil? && @rej.match?(val,recno)))
+ ok = ((@sel && (as = @sel.match?(val,recno))) && !(@rej && @rej.match?(val,recno)))
return (ok ? as : ok)
end
end
end
end