Class: ArticleJSON::Import::GoogleDoc::HTML::ImageParser
- Inherits:
-
Object
- Object
- ArticleJSON::Import::GoogleDoc::HTML::ImageParser
- Includes:
- Shared::Caption, Shared::Float
- Defined in:
- lib/article_json/import/google_doc/html/image_parser.rb
Instance Method Summary collapse
- #element ⇒ ArticleJSON::Elements::Image
-
#float ⇒ Symbol
Check if the image is floating (left, right or not at all).
-
#href ⇒ String
Extracts an href from the tag [image-link-to: url]) if present in the caption node.
-
#image_node ⇒ Nokogiri::HTML::Node
The node of the actual image.
-
#initialize(node:, caption_node:, css_analyzer:) ⇒ ImageParser
constructor
A new instance of ImageParser.
-
#source_url ⇒ String
The value of the image’s ‘src` attribute.
Methods included from Shared::Caption
Constructor Details
#initialize(node:, caption_node:, css_analyzer:) ⇒ ImageParser
Returns a new instance of ImageParser.
12 13 14 15 16 17 18 19 20 |
# File 'lib/article_json/import/google_doc/html/image_parser.rb', line 12 def initialize(node:, caption_node:, css_analyzer:) @node = node @caption_node = @href = href @css_analyzer = css_analyzer # Main node indicates the floating behavior @float_node = @node end |
Instance Method Details
#element ⇒ ArticleJSON::Elements::Image
52 53 54 55 56 57 58 59 |
# File 'lib/article_json/import/google_doc/html/image_parser.rb', line 52 def element ArticleJSON::Elements::Image.new( source_url: source_url, float: float, caption: , href: @href ) end |
#float ⇒ Symbol
Check if the image is floating (left, right or not at all)
36 37 38 |
# File 'lib/article_json/import/google_doc/html/image_parser.rb', line 36 def float super if floatable_size? end |
#href ⇒ String
Extracts an href from the tag [image-link-to: url]) if present in the caption node.
43 44 45 46 47 48 49 |
# File 'lib/article_json/import/google_doc/html/image_parser.rb', line 43 def href return if @caption_node.nil? match = @caption_node.content.strip.match(href_regexp) return if match.nil? remove_image_link_tag match[:url] end |
#image_node ⇒ Nokogiri::HTML::Node
The node of the actual image
30 31 32 |
# File 'lib/article_json/import/google_doc/html/image_parser.rb', line 30 def image_node @node.xpath('.//img').first end |
#source_url ⇒ String
The value of the image’s ‘src` attribute
24 25 26 |
# File 'lib/article_json/import/google_doc/html/image_parser.rb', line 24 def source_url image_node.attribute('src').value end |