class MicroMicro::Relationship
Attributes
node[R]
Public Class Methods
new(node)
click to toggle source
@param node [Nokogiri::XML::Element]
# File lib/micro_micro/relationship.rb, line 6 def initialize(node) @node = node end
nodes_from(context)
click to toggle source
@param context [Nokogiri::HTML::Document, Nokogiri::XML::Element] @return [Nokogiri::XML::NodeSet]
# File lib/micro_micro/relationship.rb, line 65 def self.nodes_from(context) context.css('[href][rel]:not([rel=""])').reject { |node| (node.ancestors.map(&:name) & Document.ignored_node_names).any? } end
relationships_from(context)
click to toggle source
@param context [Nokogiri::HTML::Document, Nokogiri::XML::Element] @return [Array<MicroMicro::Relationship>]
# File lib/micro_micro/relationship.rb, line 71 def self.relationships_from(context) nodes_from(context).map { |node| new(node) } end
Public Instance Methods
href()
click to toggle source
@return [String]
# File lib/micro_micro/relationship.rb, line 11 def href @href ||= node['href'] end
hreflang()
click to toggle source
@return [String, nil]
# File lib/micro_micro/relationship.rb, line 16 def hreflang @hreflang ||= node['hreflang']&.strip end
inspect()
click to toggle source
@return [String]
# File lib/micro_micro/relationship.rb, line 21 def inspect format(%(#<#{self.class.name}:%#0x href: #{href.inspect}, rels: #{rels.inspect}>), object_id) end
media()
click to toggle source
@return [String, nil]
# File lib/micro_micro/relationship.rb, line 26 def media @media ||= node['media']&.strip end
rels()
click to toggle source
@return [Array<String>]
# File lib/micro_micro/relationship.rb, line 44 def rels @rels ||= node['rel'].split.uniq.sort end
text()
click to toggle source
@return [String]
# File lib/micro_micro/relationship.rb, line 49 def text @text ||= node.text end
title()
click to toggle source
@return [String, nil]
# File lib/micro_micro/relationship.rb, line 54 def title @title ||= node['title']&.strip end
to_h()
click to toggle source
@return [Hash{Symbol => String}]
# File lib/micro_micro/relationship.rb, line 31 def to_h { href: href, rels: rels, hreflang: hreflang, media: media, title: title, type: type, text: text }.select { |_, value| value.present? } end
type()
click to toggle source
@return [String, nil]
# File lib/micro_micro/relationship.rb, line 59 def type @type ||= node['type']&.strip end