Sha256: d3c981694f355a508c7b1331a30ff9e5215ee5c675de00590c740a08fe94e119
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true require "httparty" module Decidim # This class generates a url to create a static map image for a geocoded resource class StaticMapGenerator def initialize(resource, options = {}) @resource = resource @options = options @options[:zoom] ||= 15 @options[:width] ||= 120 @options[:height] ||= 120 end def data return if Decidim.geocoder.nil? Rails.cache.fetch(@resource.cache_key) do request = HTTParty.get(uri, headers: { "Referer" => organization.host }) request.body end end private def uri params = { c: "#{@resource.latitude}, #{@resource.longitude}", z: @options[:zoom], w: @options[:width], h: @options[:height], f: "1", app_id: Decidim.geocoder.fetch(:here_app_id), app_code: Decidim.geocoder.fetch(:here_app_code) } uri = URI.parse(Decidim.geocoder.fetch(:static_map_url)).tap do |uri| uri.query = URI.encode_www_form params end uri end def organization @organization ||= @resource.feature.organization end end end
Version data entries
3 entries across 3 versions & 1 rubygems