module TokyoMetro::Modules::Common::Info::Decision::CompareBase
Private Instance Methods
compare_base( *args , compared )
click to toggle source
# File lib/tokyo_metro/modules/common/info/decision/compare_base.rb, line 5 def compare_base( *args , compared ) raise if args.empty? if compared.nil? return false end args = args.flatten unless args.instance_of?( ::Array ) and args.all? { | item | item.instance_of?( ::String ) or item.instance_of?( ::Regexp ) } class_list = args.map { | item | item.class } raise "#{ class_list.to_s } is not valid." end unless compared.instance_of?( ::String ) or ( compared.instance_of?( ::Array ) and compared.all? { | item | item.instance_of?( ::String ) } ) raise "Error: \[#{ compared.class.name }\] #{ compared.to_s }" end if compared.instance_of?( ::String ) args.any? { | item | item === compared } else compared.any? { | compared_each_item | args.any? { | item | item === compared_each_item } } end end