Class: ArticleJSON::Import::GoogleDoc::HTML::EmbeddedTweetParser
- Inherits:
-
EmbeddedParser
- Object
- EmbeddedParser
- ArticleJSON::Import::GoogleDoc::HTML::EmbeddedTweetParser
- Defined in:
- lib/article_json/import/google_doc/html/embedded_tweet_parser.rb
Class Method Summary collapse
-
.url_regexp ⇒ Regexp
Regular expression to check if a given string is a Twitter URL Also used to extract the ID from the URL.
Instance Method Summary collapse
-
#embed_id ⇒ String
Extract the tweet ID (including the handle) from an URL.
-
#embed_type ⇒ Symbol
The type of this embedded element.
Methods inherited from EmbeddedParser
build, #element, #initialize, matches?, supported?, #tags
Methods included from Shared::Caption
Constructor Details
This class inherits a constructor from ArticleJSON::Import::GoogleDoc::HTML::EmbeddedParser
Class Method Details
.url_regexp ⇒ Regexp
Regular expression to check if a given string is a Twitter URL Also used to extract the ID from the URL.
23 24 25 26 27 28 29 30 31 |
# File 'lib/article_json/import/google_doc/html/embedded_tweet_parser.rb', line 23 def url_regexp %r{ ^\S* # all protocols & sub domains twitter\.com/ # domain (?<handle>[^#/]+) # twitter handle (?:\#|/status/|/statuses/) # optional path or hash char (?<id>\d+) # numeric tweet id }xi end |
Instance Method Details
#embed_id ⇒ String
Extract the tweet ID (including the handle) from an URL
14 15 16 17 |
# File 'lib/article_json/import/google_doc/html/embedded_tweet_parser.rb', line 14 def match = @node.inner_text.strip.match(self.class.url_regexp) "#{match[:handle]}/#{match[:id]}" if match end |
#embed_type ⇒ Symbol
The type of this embedded element
8 9 10 |
# File 'lib/article_json/import/google_doc/html/embedded_tweet_parser.rb', line 8 def :tweet end |