module RDee::TargetParser
Public Instance Methods
parse(value)
click to toggle source
# File lib/rdee/target_parser.rb, line 7 def parse(value) target = target_for(value) version = version_for(value) host = host_for(value) return target, version, host end
Private Instance Methods
browser_version(value)
click to toggle source
# File lib/rdee/target_parser.rb, line 36 def browser_version(value) value.to_s.gsub(target_for(value).to_s, '').split(/_/)[0] end
host_for(value)
click to toggle source
# File lib/rdee/target_parser.rb, line 31 def host_for(value) host = value.to_s.split(/_/).slice(1..-1) host_lookup[host.join('_').to_sym] if host end
host_lookup()
click to toggle source
# File lib/rdee/target_parser.rb, line 44 def host_lookup @host_lookup ||= { win10: 'Windows 10', win81: 'Windows 8.1', win8: 'Windows 8', win7: 'Windows 7', winxp: 'Windows XP', mountain_lion: 'OS X 10.8', mavricks: 'OS X 10.9', yosemite: 'OS X 10.10', el_capitan: 'OS X 10.11', sierra: 'macOS 10.12', linux: 'Linux', ios: 'iOS', android: 'Android' } end
mobile_version(value)
click to toggle source
# File lib/rdee/target_parser.rb, line 40 def mobile_version(value) value.to_s.match(/[a-z]+(\d+\_*\d*)/)[1].gsub('_', '.') end
target_for(value)
click to toggle source
# File lib/rdee/target_parser.rb, line 16 def target_for(value) target = value.to_s.split(/\d+/)[0] target = target.split('_')[0] if target.include? '_' target.to_sym end
version_for(value)
click to toggle source
# File lib/rdee/target_parser.rb, line 22 def version_for(value) version = mobile_version(value) if mobile?(value) version = browser_version(value) unless mobile?(value) unless version.nil? version = nil if version.empty? end version end