Sha256: 97b82d78c97d900f0eaef60e98ae93e38258aed40f1435ea15732318f9672067
Contents?: true
Size: 777 Bytes
Versions: 4
Compression:
Stored size: 777 Bytes
Contents
# coding: utf-8 # frozen_string_literal: true # This validator takes care of ensuring the validated content is # an existing address and computes its coordinates. class GeocodingValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) if Decidim.geocoder.present? && record.feature.present? organization = record.feature.organization Geocoder.configure(Geocoder.config.merge(http_headers: { "Referer" => organization.host })) coordinates = Geocoder.coordinates(value) if coordinates.present? record.latitude = coordinates.first record.longitude = coordinates.last else record.errors.add(attribute, :invalid) end else record.errors.add(attribute, :invalid) end end end
Version data entries
4 entries across 4 versions & 1 rubygems