Method: NicInfo::Main#guess_query_value_type
- Defined in:
- lib/nicinfo/nicinfo_main.rb
#guess_query_value_type(args) ⇒ Object
Evaluates the args and guesses at the type of query. Args is an array of strings, most likely what is left over after parsing ARGV
870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 |
# File 'lib/nicinfo/nicinfo_main.rb', line 870 def guess_query_value_type(args) retval = nil if args.length() == 1 case args[0] when NicInfo::URL_REGEX retval = QueryType::BY_URL when NicInfo::IPV4_REGEX retval = QueryType::BY_IP4_ADDR when NicInfo::IPV6_REGEX retval = QueryType::BY_IP6_ADDR when NicInfo::IPV6_HEXCOMPRESS_REGEX retval = QueryType::BY_IP6_ADDR when NicInfo::AS_REGEX retval = QueryType::BY_AS_NUMBER when NicInfo::ASN_REGEX old = args[0] args[0] = args[0].sub(/^AS/i, "") @config.logger.trace("Interpretting " + old + " as autonomous system number " + args[0]) retval = QueryType::BY_AS_NUMBER when NicInfo::IP4_ARPA retval = QueryType::BY_DOMAIN when NicInfo::IP6_ARPA retval = QueryType::BY_DOMAIN when /(.*)\/\d/ ip = $+ if ip =~ NicInfo::IPV4_REGEX retval = QueryType::BY_IP4_CIDR elsif ip =~ NicInfo::IPV6_REGEX || ip =~ NicInfo::IPV6_HEXCOMPRESS_REGEX retval = QueryType::BY_IP6_CIDR end when NicInfo::DATA_TREE_ADDR_REGEX retval = QueryType::BY_RESULT when NicInfo::NS_REGEX retval = QueryType::BY_NAMESERVER when NicInfo::DOMAIN_REGEX retval = QueryType::BY_DOMAIN when NicInfo::ENTITY_REGEX retval = QueryType::BY_ENTITY_HANDLE else last_name = args[ 0 ].sub( /\*/, '' ).upcase if NicInfo::is_last_name( last_name ) retval = QueryType::SRCH_ENTITY_BY_NAME end end elsif args.length() == 2 last_name = args[ 1 ].sub( /\*/, '' ).upcase first_name = args[ 0 ].sub( /\*/, '' ).upcase if NicInfo::is_last_name(last_name) && (NicInfo::is_male_name(first_name) || NicInfo::is_female_name(first_name)) retval = QueryType::SRCH_ENTITY_BY_NAME end elsif args.length() == 3 last_name = args[ 2 ].sub( /\*/, '' ).upcase first_name = args[ 0 ].sub( /\*/, '' ).upcase if NicInfo::is_last_name(last_name) && (NicInfo::is_male_name(first_name) || NicInfo::is_female_name(first_name)) retval = QueryType::SRCH_ENTITY_BY_NAME end end return retval end |