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.list-style-none'.freeze
- ANCHOR_WITH_HOT_REPOSITORY =
'a.repo-snipit'.freeze
- SPAN_WITH_FULL_NAME =
'span.text-gray'.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
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/gh_trending/parsers/developers_parser.rb', line 11 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
25 26 27 |
# File 'lib/gh_trending/parsers/developers_parser.rb', line 25 def resource_url 'https://github.com/trending/developers'.freeze end |