Sha256: 09c77f675423a9ffda36324a2cb2cb7642c2b06ff4211451a371d0a549bcab6f
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
module AmazonSellerCentral class PaymentsPage < Page attr_accessor :page PAYMENT_FEED_V1 = "_GET_FLAT_FILE_PAYMENT_SETTLEMENT_DATA__" PAYMENT_FEED_V2 = "_GET_V2_SETTLEMENT_REPORT_DATA__" def has_next? @has_next ||= @page.search('a').map(&:text).grep(/Next/).any? end def next_page @next_page ||= begin raise NoNextPageAvailableError unless has_next? @page = @agent.follow_link_with(:text => 'Next') PaymentsPage.new(:page => page, :agent => @agent) end end def self.available_report_ids id_array = [] mech = AmazonSellerCentral.mechanizer mech.login_to_seller_central mech.follow_link_with(:text => "Payments") payments_page = mech.follow_link_with(:text => "All Statements") @page = PaymentsPage.new(:page => payments_page, :agent => mech) id_array << @page.page.links_with(:text => "Download Flat File").map{|link| link.href.match(/(#{PAYMENT_FEED_V1}|#{PAYMENT_FEED_V2})(\d+)\.txt/)[2]}} while(@page.has_next?) @page = @page.next_page id_array << @page.page.links_with(:text => "Download Flat File").map{|link| link.href.match(/(#{PAYMENT_FEED_V1}|#{PAYMENT_FEED_V2})(\d+)\.txt/)[2]}} end id_array.flatten end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
amazon_seller_central-0.2.9 | lib/amazon_seller_central/payments_page.rb |