Class: BetterSeo::StructuredData::BreadcrumbList
- Inherits:
-
Base
- Object
- Base
- BetterSeo::StructuredData::BreadcrumbList
show all
- Defined in:
- lib/better_seo/structured_data/breadcrumb_list.rb
Instance Attribute Summary collapse
Attributes inherited from Base
#properties, #type
Instance Method Summary
collapse
Methods inherited from Base
#get, #set, #to_json, #to_script_tag, #valid?, #validate!
Constructor Details
Returns a new instance of BreadcrumbList.
8
9
10
11
|
# File 'lib/better_seo/structured_data/breadcrumb_list.rb', line 8
def initialize(**properties)
super("BreadcrumbList", **properties)
@items = []
end
|
Instance Attribute Details
#items ⇒ Object
Returns the value of attribute items.
6
7
8
|
# File 'lib/better_seo/structured_data/breadcrumb_list.rb', line 6
def items
@items
end
|
Instance Method Details
#add_item(name:, url:, position: nil) ⇒ Object
13
14
15
16
17
|
# File 'lib/better_seo/structured_data/breadcrumb_list.rb', line 13
def add_item(name:, url:, position: nil)
position ||= @items.size + 1
@items << { name: name, url: url, position: position }
self
end
|
#add_items(items_array) ⇒ Object
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/better_seo/structured_data/breadcrumb_list.rb', line 19
def add_items(items_array)
items_array.each do |item|
add_item(
name: item[:name],
url: item[:url],
position: item[:position]
)
end
self
end
|
#clear ⇒ Object
30
31
32
33
|
# File 'lib/better_seo/structured_data/breadcrumb_list.rb', line 30
def clear
@items = []
self
end
|
#to_h ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/better_seo/structured_data/breadcrumb_list.rb', line 35
def to_h
hash = super
hash["itemListElement"] = @items.map do |item|
{
"@type" => "ListItem",
"position" => item[:position],
"name" => item[:name],
"item" => item[:url]
}
end
hash
end
|