require "rubyul/version" require "date" require "json" # All the small helper functions are here. module Rubyul def self.academic_year(date) # Academic years go from September to August. (Date.parse(date) << 8).year end PLATFORM_REGEXES = JSON.parse(File.read(File.dirname(__FILE__) + "/platform_regexes.json")) IGNORABLE_REGEXES = JSON.parse(File.read(File.dirname(__FILE__) + "/ignorable_regexes.json")) $ignorable_pattern_match = Regexp.new(IGNORABLE_REGEXES.join("|")) def self.hostname_to_platform(hostname, ignore: FALSE) # TODO: Deal with ignores or not, with an option. if ignore == TRUE return "ignore" if $ignorable_pattern_match =~ hostname end PLATFORM_REGEXES.each do |regexp, platform_name| return platform_name if Regexp.new(regexp) =~ hostname end nil end end