Sha256: 14b117737bcb64104dc795bb8fb45a23ccb10cb7465dade120c229a4c98e9ef5

Contents?: true

Size: 1.31 KB

Versions: 10

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

10 entries across 10 versions & 1 rubygems

Version Path
amazon_seller_central-0.3.2 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.3.1 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.3.0 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.16 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.15 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.14 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.13 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.12 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.11 lib/amazon_seller_central/payments_page.rb
amazon_seller_central-0.2.10 lib/amazon_seller_central/payments_page.rb