Parse Open Graph Data in Rails using Metainspector

256 Views Asked by At

I am working on an app where I am required to fetch and save the open graph data of a website.

So far I have been able to grab properties such as title, description, url by using this code

before_save :get_meta_from_link

def check_link
        begin
            @page_link = MetaInspector.new(sanitized_url)
        rescue Faraday::ConnectionFailed => e
            errors.add(:link, "Oops, can't be processed ATM")
        end
    end

  def get_meta_from_link
        page = @page_link
        return unless page.to_hash.present?

    if page.title.present?
      self.title = page.title
        end

    if page.description.present?
      self.description = page.description
    end

    if page.url.present?
      self.url = page.url
    end

    end

I am using the metainspector gem and trying to grab values such as og:locale, og:type. How can I fetch those values?

This is the link I am using to cross reference values: https://metainspectordemo.herokuapp.com

1

There are 1 best solutions below

0
On BEST ANSWER

Ok, so I managed to solve it using

def check_link
        begin
            @page_link = MetaInspector.new(sanitized_url)
        rescue MetaInspector::RequestError => e
            errors.add(:link, "you provided is not being read by our system. Please check the link.")
        end
    end

in my link model

followed by

def get_meta_from_link
        page = @page_link
    paje = @page_link.meta_tags
        return unless page.to_hash.present?

    if page.title.present?
      self.btitle = page.title
        end
end