Class: Gh::Trending::Parsers::DevelopersParser
- Defined in:
- lib/gh_trending/parsers/developers_parser.rb
Overview
Parses the trending developers page
Constant Summary collapse
- LIST_WITH_DEVS_NODES_HTML_CLASS =
'ol.leaderboard-list'.freeze
- H2_WITH_DEVELOPER_NAME =
'h2.user-leaderboard-list-name'.freeze
- ANCHOR_WITH_HOT_REPOSITORY =
'a.repo-snipit'.freeze
- SPAN_WITH_FULL_NAME =
'span.full-name'.freeze
- REGEXP_FOR_FULLNAME =
/\((.+)\)/
Instance Attribute Summary
Attributes inherited from Parser
Instance Method Summary collapse
Methods inherited from Parser
Constructor Details
This class inherits a constructor from Gh::Trending::Parsers::Parser
Instance Method Details
#parse(parser_args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/gh_trending/parsers/developers_parser.rb', line 12 def parse(parser_args) url = build_request_url_with(parser_args) page = agent.get(url) parsed_page = page.at(LIST_WITH_DEVS_NODES_HTML_CLASS) if parsed_page.nil? changed_page = :front_page_with_devs raise Gh::Trending::Parsers::HtmlChangedError.new(changed_page) end devs = parsed_page.search('li') build_developers_from_node devs end |
#resource_url ⇒ Object
26 27 28 |
# File 'lib/gh_trending/parsers/developers_parser.rb', line 26 def resource_url 'https://github.com/trending/developers'.freeze end |