Module: Cdx::ControllerHelpers::Seo
- Extended by:
- ActiveSupport::Concern
- Included in:
- ApplicationController
- Defined in:
- lib/cdx/controller_helpers/seo.rb
Instance Method Summary collapse
- #canonical_url ⇒ Object
- #contextual_record ⇒ Object
- #meta_data ⇒ Object
- #meta_title ⇒ Object
- #open_graph_data ⇒ Object
Instance Method Details
#canonical_url ⇒ Object
16 17 18 19 |
# File 'lib/cdx/controller_helpers/seo.rb', line 16 def canonical_url # Override this methods in your controllers to get a custom canonical_url request.fullpath end |
#contextual_record ⇒ Object
21 22 23 24 |
# File 'lib/cdx/controller_helpers/seo.rb', line 21 def contextual_record # Override this methods in your controllers to get seo data from a specific record instance_variable_get("@#{controller_name.singularize}") || @object || Setting.current end |
#meta_data ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/cdx/controller_helpers/seo.rb', line 26 def # Override this methods in your controllers to get custom SEO data object = contextual_record fields = {} if object.respond_to? :seo fields[:keywords] = object. || Setting.current. fields[:description] = object. || Setting.current. end fields.reject { |k, v| v.blank? } end |
#meta_title ⇒ Object
11 12 13 14 |
# File 'lib/cdx/controller_helpers/seo.rb', line 11 def # Override this methods in your controllers to get a custom title contextual_record. end |
#open_graph_data ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/cdx/controller_helpers/seo.rb', line 38 def open_graph_data # Override this methods in your controllers to get custom OpenGraph data object = contextual_record fields = {} if object.respond_to? :seo fields['og:title'] = object.og_title || Setting.current.og_title fields['og:description'] = object.og_description || Setting.current.og_description fields['og:keywords'] = object.og_keywords || Setting.current.og_keywords fields['og:image'] = object.og_image&.&.url(:regular) || Setting.current.og_image&.&.url(:regular) fields['og:video'] = object.og_video || Setting.current.og_video end fields.reject { |k, v| v.blank? } end |