Sha256: fd83ba986638b842e8dd8de0ccb7553504c8f64494cbea83345cdd92d763157a

Contents?: true

Size: 712 Bytes

Versions: 84

Compression:

Stored size: 712 Bytes

Contents

require 'nokogiri'

module Spotlight
  module Resources
    ##
    # Generic web resource harvester base module
    module Web
      extend ActiveSupport::Concern

      included do
        before_create do
          harvest!
        end
      end

      def harvest!
        response = Spotlight::Resources::Web.fetch url
        data[:headers] = response.headers
        data[:body] = response.body
      end

      def body
        harvest! if data[:body].blank?

        @body ||= Nokogiri::HTML.parse data[:body]
      end

      def self.fetch(url)
        Faraday.new(url) do |b|
          b.use FaradayMiddleware::FollowRedirects
          b.adapter :net_http
        end.get
      end
    end
  end
end

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
blacklight-spotlight-2.4.1 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.4.0 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.3.3 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.3.2 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.3.1 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.3.0 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.2.1 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.2.0 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.1.0 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.2 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.1 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0.rc6 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0.rc5 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0.rc4 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0.rc3 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0.rc2 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-2.0.0.rc1 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-1.5.1 app/models/concerns/spotlight/resources/web.rb
blacklight-spotlight-1.4.1 app/models/concerns/spotlight/resources/web.rb