class AmazonSellerCentral::FeedbackPage
Attributes
body[RW]
Public Instance Methods
has_next?()
click to toggle source
# File lib/amazon_seller_central/feedback_page.rb, line 5 def has_next? @has_next ||= @page.search('a').map(&:text).grep(/Next/).count > 0 end
next_page()
click to toggle source
# File lib/amazon_seller_central/feedback_page.rb, line 9 def next_page @next_page ||= begin raise NoNextPageAvailableError unless has_next? page = @agent.follow_link_with(:text => 'Next') FeedbackPage.new(:page => page, :agent => @agent) end end
parse()
click to toggle source
# File lib/amazon_seller_central/feedback_page.rb, line 17 def parse rows = @page.search('.//table[@width="100%"]').first.search('.//tr') rows[1..-1].map do |row| feedback_row_to_object(row) end end
Also aliased as: feedbacks
Private Instance Methods
feedback_row_to_object(row)
click to toggle source
# File lib/amazon_seller_central/feedback_page.rb, line 50 def feedback_row_to_object(row) data = row.search('.//td').map(&:text) { :date => parse_amazon_date(data[0]), :rating => data[1].gsub(/[^\d]/,'').to_i, :comments => data[2].gsub(/\n\nRespond$/,''), :arrived_on_time => yes_no_nil(data[3]), :item_as_described => yes_no_nil(data[4]), :customer_service => yes_no_nil(data[5]), :order_id => data[6], :rater_email => data[7].gsub(/\s/, ''), # has a lot of \n\n\t\t crap :rater_role => data[8] }.inject(Feedback.new){|fb, (k,v)| fb.send("#{k}=", v); fb } end
yes_no_nil(v)
click to toggle source
# File lib/amazon_seller_central/feedback_page.rb, line 65 def yes_no_nil(v) return nil if v == "-" v == "Yes" end