Sha256: 124ed7ef7fa15cc6b02b1a79f9d7898909c1ed1819d75456f2a761a561157f70
Contents?: true
Size: 1.96 KB
Versions: 2
Compression:
Stored size: 1.96 KB
Contents
module Awis module Models class TrafficHistory < Base attr_accessor :range, :site, :start, :historical_data def initialize(response) @historical_data = [] setup_data! loading_response(response) end def setup_data!(response) datas = [] response.each_node do |node, path| text = node.inner_xml text = text.to_i if text.to_i.to_s === text text = nil if (text.class == String && text.empty?) if node.name == 'aws:RequestId' @request_id ||= text elsif node.name == 'aws:StatusCode' @status_code ||= text elsif node.name == 'aws:Range' @range ||= text elsif node.name == 'aws:Site' @site ||= text elsif node.name == 'aws:Start' @start ||= text elsif node.name == 'aws:Rank' @rank ||= text elsif node.name == 'aws:Date' && path == "#{base_node_name}/aws:Date" datas << { date: text } elsif node.name == 'aws:PerMillion' && path == "#{base_node_name}/aws:PageViews/aws:PerMillion" datas << { page_views_per_million: text } elsif node.name == 'aws:PerUser' && path == "#{base_node_name}/aws:PageViews/aws:PerUser" datas << { page_views_per_user: text } elsif node.name == 'aws:PerMillion' && path == "#{base_node_name}/aws:Rank" datas << { rank: text } elsif node.name == 'aws:PerMillion' && path == "#{base_node_name}/aws:Reach/aws:PerMillion" datas << { reach_per_million: text } end end relationship_collections(@historical_data, datas, 5, HistoricalData) end def base_node_name "#{root_node_name}/aws:TrafficHistory/aws:HistoricalData/aws:Data" end end class HistoricalData < BaseEntity attr_accessor :date, :page_views_per_million, :page_views_per_user, :rank, :reach_per_million end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
awis-sdk-ruby-0.0.6 | lib/awis/models/traffic_history.rb |
awis-sdk-ruby-0.0.5 | lib/awis/models/traffic_history.rb |