module SolidusSeo::Jsonld::Core
Public Instance Methods
to_jsonld()
click to toggle source
# File lib/solidus_seo/jsonld/core.rb, line 4 def to_jsonld @jsonld_data ||= jsonld_data.delete_if { |_, v| v.blank? }.with_indifferent_access end
Private Instance Methods
report_invalid_props(props)
click to toggle source
# File lib/solidus_seo/jsonld/core.rb, line 20 def report_invalid_props(props) raise "#{self.class.name} jsonld definition is missing required properties: #{Array(props).join(', ')}" end
validate_list(items, *required_props)
click to toggle source
# File lib/solidus_seo/jsonld/core.rb, line 24 def validate_list(items, *required_props) Array(items).each do |it| validate_prop(it, *required_props) end end
validate_prop(item, *required_props)
click to toggle source
# File lib/solidus_seo/jsonld/core.rb, line 10 def validate_prop(item, *required_props) return {} if item.blank? # ignore empty props required_props.map(&:to_sym).each do |req| item.with_indifferent_access[req].presence || report_invalid_props(req) end item end