class DeviceDetector::MetadataExtractor

Public Instance Methods

call() click to toggle source
# File lib/device_detector/metadata_extractor.rb, line 4
def call
  regex_meta.any? ? extract_metadata : nil
end

Private Instance Methods

extract_metadata() click to toggle source
# File lib/device_detector/metadata_extractor.rb, line 15
def extract_metadata
  user_agent.match(regex) do |match_data|
    metadata_string.gsub(/\$(\d)/) {
      match_data[$1.to_i].to_s
    }.strip
  end
end
metadata_string() click to toggle source
# File lib/device_detector/metadata_extractor.rb, line 10
def metadata_string
  message = "#{self.name} (a child of MetadataExtractor) must implement the '#{__method__}' method."
  fail NotImplementedError, message
end
regex() click to toggle source
# File lib/device_detector/metadata_extractor.rb, line 23
def regex
  @regex ||= regex_meta[:regex]
end