Class: LinkThumbnailer::Scrapers::Opengraph::Image::Base
- Inherits:
-
Base
- Object
- SimpleDelegator
- Base
- Base
- LinkThumbnailer::Scrapers::Opengraph::Image::Base
show all
- Defined in:
- lib/link_thumbnailer/scrapers/opengraph/image.rb
Overview
Handles ‘og:image` attributes.
Direct Known Subclasses
Url
Instance Attribute Summary
Attributes inherited from Base
#attribute_name, #config, #document, #website
Instance Method Summary
collapse
Methods inherited from Base
#applicable?
Methods inherited from Base
#applicable?, #call, #initialize
Instance Method Details
#attribute ⇒ Object
45
46
47
|
# File 'lib/link_thumbnailer/scrapers/opengraph/image.rb', line 45
def attribute
'og:image'
end
|
#model ⇒ Object
25
26
27
28
29
30
|
# File 'lib/link_thumbnailer/scrapers/opengraph/image.rb', line 25
def model
nodes.map do |n|
uri = LinkThumbnailer::URI.new(n.attributes['content'])
modelize(n, uri.to_s) if uri.valid?
end.compact
end
|
#modelize(node, text = nil) ⇒ Object
32
33
34
|
# File 'lib/link_thumbnailer/scrapers/opengraph/image.rb', line 32
def modelize(node, text = nil)
model_class.new(text, size)
end
|
#nodes ⇒ Object
40
41
42
43
|
# File 'lib/link_thumbnailer/scrapers/opengraph/image.rb', line 40
def nodes
nodes = meta_xpaths(attribute: attribute)
nodes.empty? ? meta_xpaths(attribute: attribute, key: :name) : nodes
end
|
#size ⇒ Object
49
50
51
|
# File 'lib/link_thumbnailer/scrapers/opengraph/image.rb', line 49
def size
[width.to_i, height.to_i] if width && height
end
|
#value ⇒ Object
21
22
23
|
# File 'lib/link_thumbnailer/scrapers/opengraph/image.rb', line 21
def value
model
end
|