Class: OpenGraphReader::Parser::Graph Private

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/open_graph_reader/parser/graph.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

A Graph to represent OpenGraph tags.

Defined Under Namespace

Classes: Node

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGraph

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Create new graph.



85
86
87
# File 'lib/open_graph_reader/parser/graph.rb', line 85

def initialize
  @root = Node.new
end

Instance Attribute Details

#rootNode? (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

The initial node.

Returns:



75
76
77
# File 'lib/open_graph_reader/parser/graph.rb', line 75

def root
  @root
end

Instance Method Details

#each {|Node| ... } ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Iterate through all nodes that have a value.

Yields:



92
93
94
95
96
# File 'lib/open_graph_reader/parser/graph.rb', line 92

def each
  root.each do |child|
    yield child if child.content
  end
end

#empty?Bool

Does this graph have any nodes?

Returns:

  • (Bool)


81
# File 'lib/open_graph_reader/parser/graph.rb', line 81

def_delegators :root, :empty?

#fetch(property, default = nil) { ... } ⇒ String, ...

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Fetch first node’s value.

Parameters:

  • property (String)

    The fully qualified name, for example og:type.

  • default (String) (defaults to: nil)

    The default in case the a value is not found.

Yields:

  • Return a default in case the value is not found. Supersedes the default parameter.

Returns:

  • (String, Bool, Integer, Float, DateTime, nil)


104
105
106
107
108
109
# File 'lib/open_graph_reader/parser/graph.rb', line 104

def fetch property, default=nil
  node = find_by(property)
  return yield if node.nil? && block_given?
  return default if node.nil?
  node.content
end

#find_by(property) ⇒ Node?

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Fetch first node

Parameters:

  • property (String)

    The fully qualified name, for example og:type.

Returns:



115
116
117
118
# File 'lib/open_graph_reader/parser/graph.rb', line 115

def find_by property
  property = normalize_property property
  find {|node| node.fullname == property }
end

#select_by(property) ⇒ Array<Node>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Fetch all nodes

Parameters:

  • property (String)

    The fully qualified name, for example og:type.

Returns:



124
125
126
127
# File 'lib/open_graph_reader/parser/graph.rb', line 124

def select_by property
  property = normalize_property property
  select {|node| node.fullname == property }
end