Sha256: 6d69d95127fc8e551dc9859b44bf61717cd2bf343328e75c8c3404be42051893

Contents?: true

Size: 939 Bytes

Versions: 17

Compression:

Stored size: 939 Bytes

Contents

# frozen_string_literal: true

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] ||= Decidim::Map::StaticMap::DEFAULT_ZOOM
      @options[:width] ||= Decidim::Map::StaticMap::DEFAULT_SIZE
      @options[:height] ||= Decidim::Map::StaticMap::DEFAULT_SIZE
    end

    def data
      return if @resource.blank? || map_utility.nil?

      Rails.cache.fetch(@resource.cache_key) do
        map_utility.image_data(
          latitude: @resource.latitude,
          longitude: @resource.longitude,
          options: @options
        )
      end
    end

    private

    def organization
      @organization ||= @resource.component.organization
    end

    def map_utility
      @map_utility ||= Decidim::Map.static(organization:)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc2 app/services/decidim/static_map_generator.rb
decidim-core-0.30.0.rc1 app/services/decidim/static_map_generator.rb
decidim-core-0.29.2 app/services/decidim/static_map_generator.rb
decidim-core-0.28.5 app/services/decidim/static_map_generator.rb
decidim-core-0.29.1 app/services/decidim/static_map_generator.rb
decidim-core-0.28.4 app/services/decidim/static_map_generator.rb
decidim-core-0.29.0 app/services/decidim/static_map_generator.rb
decidim-core-0.28.3 app/services/decidim/static_map_generator.rb
decidim-core-0.29.0.rc4 app/services/decidim/static_map_generator.rb
decidim-core-0.29.0.rc3 app/services/decidim/static_map_generator.rb
decidim-core-0.29.0.rc2 app/services/decidim/static_map_generator.rb
decidim-core-0.29.0.rc1 app/services/decidim/static_map_generator.rb
decidim-core-0.28.2 app/services/decidim/static_map_generator.rb
decidim-core-0.28.1 app/services/decidim/static_map_generator.rb
decidim-core-0.28.0 app/services/decidim/static_map_generator.rb
decidim-core-0.28.0.rc5 app/services/decidim/static_map_generator.rb
decidim-core-0.28.0.rc4 app/services/decidim/static_map_generator.rb