Sha256: 15bd664ee859b729440f554a661cba41ed588a26222eba29380f44fd3e759429

Contents?: true

Size: 909 Bytes

Versions: 7

Compression:

Stored size: 909 Bytes

Contents

# frozen_string_literal: true

module Onebox
  module Engine
    class GooglePlayAppOnebox
      include Engine
      include LayoutSupport
      include HTML

      DEFAULTS = {
        MAX_DESCRIPTION_CHARS: 500
      }

      matches_regexp(/^https?:\/\/play\.(?:(?:\w)+\.)?(google)\.com(?:\/)?\/store\/apps\//)
      always_https

      private

      def data
        price = raw.css("meta[itemprop=price]").first["content"] rescue "Free"
        {
          link: link,
          title: raw.css("meta[property='og:title']").first["content"].gsub(" - Apps on Google Play", ""),
          image: ::Onebox::Helpers.normalize_url_for_output(raw.css("meta[property='og:image']").first["content"]),
          description: raw.css("meta[name=description]").first["content"][0..DEFAULTS[:MAX_DESCRIPTION_CHARS]].chop + "...",
          price: price == "0" ? "Free" : price
        }
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
onebox-2.2.19 lib/onebox/engine/google_play_app_onebox.rb
onebox-2.2.18 lib/onebox/engine/google_play_app_onebox.rb
onebox-2.2.17 lib/onebox/engine/google_play_app_onebox.rb
onebox-2.2.16 lib/onebox/engine/google_play_app_onebox.rb
onebox-2.2.15 lib/onebox/engine/google_play_app_onebox.rb
onebox-2.2.14 lib/onebox/engine/google_play_app_onebox.rb
onebox-2.2.13 lib/onebox/engine/google_play_app_onebox.rb