Module: SolidusSeo::MetaDataBuilder
- Extended by:
- ActiveSupport::Concern
- Includes:
- Helpers::BaseHelper, Spree::BaseHelper
- Defined in:
- lib/solidus_seo/meta_data_builder.rb
Instance Method Summary
collapse
#breadcrumb_pairs, #plain_text, #taxon_breadcrumbs_jsonld
Instance Method Details
51
52
53
54
|
# File 'lib/solidus_seo/meta_data_builder.rb', line 51
def get_meta_resource
@product || @taxon
end
|
#render(*args) ⇒ Object
10
11
12
13
|
# File 'lib/solidus_seo/meta_data_builder.rb', line 10
def render(*args)
set_meta_data
super
end
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/solidus_seo/meta_data_builder.rb', line 31
def resource_meta_data
object = get_meta_resource
meta = {}
if object.is_a? ActiveRecord::Base
if object.respond_to? :to_seo
meta = object.to_seo
else
meta_columns = object.class.column_names.select { |col_name| col_name.starts_with? 'meta_' }
meta_columns.each do |meta_column|
base_column_name = meta_column.gsub 'meta_', ''
meta[base_column_name] = object.try(meta_column).presence || object.try(base_column_name).presence
end
end
end
meta.compact.deep_symbolize_keys
end
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/solidus_seo/meta_data_builder.rb', line 15
def set_meta_data
meta_data = {
reverse: custom_title.present?,
title: title,
og: {
url: request.url,
description: :description,
title: :title,
}
}.deep_merge(current_store.to_seo.deep_symbolize_keys)
.deep_merge(resource_meta_data)
set_meta_tags meta_data
end
|