module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Officine dans Village proche Aix en Provence départ à la retraite
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Officine de centre ville sur axe passant
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
En angle de rue, sur axe passant
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Sur axe très fréquenté, en angle de rue
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Commune importante proche des grands axe
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Sur axe passant avec stationnement devant l'officine
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Pharmacie de quartier
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Outil de travail d’avenir, à voir !
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Pharmacie de centre-ville à céder – Exclusivité
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Secteur recherché des B.D.R, opportunité rare dans un secteur dynamique
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Départ en retraite dans ville de taille moyenne
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Pharmacie à vendre — Rare à la vente
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Locaux fonctionnels secteur dynamique
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Officine de centre ville avec potentiel
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Pharmacie de quartier sur axe passant
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Pharmacie de village sur axe passant avec parking
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end
Pharmacie à vendre — Officine de village
13)
module ApplicationHelper
# Safely check if an asset is available in the pipeline (dev & prod)
def asset_present?(logical_path)
logical_path = logical_path.to_s
return false if logical_path.blank?
if Rails.application.config.assets.compile
# Development: Sprockets environment is available
!!Rails.application.assets&.find_asset(logical_path)
else
# Production: check compiled manifest
manifest = Rails.application.assets_manifest
manifest && (
(manifest.assets && manifest.assets.key?(logical_path)) ||
(manifest.files && manifest.files.key?(logical_path))
)
end
rescue
false
end
def pictogram(pharmacy, options = {})
options = { image_helper: :image_tag, size: "640_360" }.merge(options)
base_dir = "pictograms/environnement/#{options[:size]}"
img_extension = (options[:format] || "png").to_s
env_slug = (pharmacy.respond_to?(:environnement) && pharmacy.environnement.presence) || "centre-ville"
expected = "#{base_dir}/#{env_slug}.#{img_extension}"
fallback_asset = "placeholders/pharmacy-#{options[:size].tr('x', '_')}.png"
if asset_present?(expected)
send(options[:image_helper], expected, options.merge(alt: "Pharmacie #{env_slug} sur Ouipharma.fr"))
elsif asset_present?(fallback_asset)
send(options[:image_helper], fallback_asset, options.merge(alt: "Pharmacie | Ouipharma.fr"))
else
svg = <<~SVG
Pharmacie
SVG
data_uri = "data:image/svg+xml;utf8,#{ERB::Util.url_encode(svg)}"
send(options[:image_helper], data_uri, options.merge(alt: "Pharmacie | Ouipharma.fr"))
end
end
end