class SafetyDepositPage < ClosetPage @selectors = { :items => "#content tr[bgcolor=\"#DFEAF7\"]", :item_thumbnail => "img", :item_name => "td:nth-child(2)", :item_quantity => "td:nth-child(5)", :item_remove => "input", :page_select => "select[name=offset]", :selected => "option[selected]" } def name I18n.translate('neopets_pages.names.safety_deposit') end def url "http://www.neopets.com/safetydeposit.phtml?offset=#{offset}" end protected REMOVE_NAME_REGEX = /\[([0-9]+)\]/ def find_id(*args) name = super unless match = name.match(REMOVE_NAME_REGEX) raise ParseError, "Remove Item input name format was unexpected: #{name}.inspect" end match[1] end def find_index(*args) (super / 30) + 1 end def offset @index ? (@index.to_i - 1) * 30 : 0 end end