Sha256: b134f8a6c4fd235e12fbcdfec1690e1991b7204a69dce006e963732ed197e2d0

Contents?: true

Size: 633 Bytes

Versions: 5

Compression:

Stored size: 633 Bytes

Contents

module RubyHackernews

  class EntryPageParser

    def initialize(page)
      @page = page
    end

    def get_lines
      lines = @page.search("//table")[2].search("tr").select do |tr|
        tr['style'] !~ /height/ &&
        tr.children.first.attributes.count != 0
      end
      more_link = lines.last.search("a").first
      lines.pop if more_link && more_link.inner_html == "More"
      return lines
    end

    def get_next_url
      more_link = @page.search("//table")[2].search("tr/td/a").select { |node| node.inner_html == "More"}.first
      return more_link['href'] if more_link
      return nil
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby-hackernews-1.3.5 lib/ruby-hackernews/services/parsers/entry_page_parser.rb
ruby-hackernews-1.3.3 lib/ruby-hackernews/services/parsers/entry_page_parser.rb
ruby-hackernews-1.3.2 lib/ruby-hackernews/services/parsers/entry_page_parser.rb
ruby-hackernews-1.3.1 lib/ruby-hackernews/services/parsers/entry_page_parser.rb
ruby-hackernews-1.3.0 lib/ruby-hackernews/services/parsers/entry_page_parser.rb