Sha256: 8acb69fa81f8992f4fb6f3c8aa09fc52fe38d572f1ecfd7872ae4c52ca61d600

Contents?: true

Size: 761 Bytes

Versions: 29

Compression:

Stored size: 761 Bytes

Contents

# frozen_string_literal: true

module Spotlight
  module Resources
    ##
    # OpenGraph metadata harvester
    module OpenGraph
      extend ActiveSupport::Concern
      include Spotlight::Resources::Web

      def opengraph
        @opengraph ||= begin
          page = {}

          body.css('meta').select { |m| m.attribute('property') }.each do |m|
            page[m.attribute('property').to_s] = m.attribute('content').to_s
          end

          page
        end
      end

      def opengraph_properties
        Hash[opengraph.map do |k, v|
          ["#{opengraph_solr_field_name(k)}_tesim", v]
        end]
      end

      private

      def opengraph_solr_field_name(field)
        field.parameterize(separator: '_')
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
blacklight-spotlight-3.0.0.rc3 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.rc2 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.rc1 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.10 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.9 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.8 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.7 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.6 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.5 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.4 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.3 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.2 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-3.0.0.alpha.1 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.13.0 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.12.1 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.12.0 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.11.0 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.10.0 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.9.0 app/models/concerns/spotlight/resources/open_graph.rb
blacklight-spotlight-2.8.0 app/models/concerns/spotlight/resources/open_graph.rb