Sha256: bcc4df9ad00e503eccfea20fa25ab43d2ae918995bfdf79256d89f7914e61522
Contents?: true
Size: 1.81 KB
Versions: 4
Compression:
Stored size: 1.81 KB
Contents
module Vnstat ## # A module containing several utility methods responsible for document # parsing. module Parser module_function ## # Extracts the year and month from the given XML element. # # @param [Nokogiri::XML::Element] element The XML element. # @return [Array<Integer, Integer>] An Array consisting of year and month. def extract_month_from_xml_element(element) month = element.xpath('date/month').text.to_i year = element.xpath('date/year').text.to_i [year, month] end ## # Extracts the date from the given XML element. # # @param [Nokogiri::XML::Element] element The XML element. # @return [Date] def extract_date_from_xml_element(element) day = element.xpath('date/day').text.to_i year, month = extract_month_from_xml_element(element) Date.new(year, month, day) end ## # Extracts the date and time from the given XML element. # # @param [Nokogiri::XML::Element] element The XML element. # @return [DateTime] def extract_datetime_from_xml_element(element) date = extract_date_from_xml_element(element) hour = element.xpath('time/hour').text.to_i minute = element.xpath('time/minute').text.to_i DateTime.new(date.year, date.month, date.day, hour, minute, 0, DateTime.now.offset) end ## # Extracts the bytes received and sent from the given XML element. # # @param [Nokogiri::XML::Element] element The XML element. # @return [Array<Integer, Integer>] An Array consisting of bytes received # and bytes sent. def extract_transmitted_bytes_from_xml_element(element) bytes_received = element.xpath('rx').text.to_i * 1024 bytes_sent = element.xpath('tx').text.to_i * 1024 [bytes_received, bytes_sent] end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
vnstat-ruby-1.1.0 | lib/vnstat/parser.rb |
vnstat-ruby-1.0.5 | lib/vnstat/parser.rb |
vnstat-ruby-1.0.4 | lib/vnstat/parser.rb |
vnstat-ruby-1.0.3 | lib/vnstat/parser.rb |