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
Proche cabinet médical et grands axes routiers
77)
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
OPPORTUNITÉ INCROYABLE ! 🎯
77)
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
Affaire de quartier à développer.
77)
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
Seine et Marne proche A4 et A104
77)
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
Ville très appréciée de Seine et Marne
77)
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 retraite EXCLUSIVITÉ
77)
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
Opportunité d'association en Seine et Marne
77)
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
Retraite, prix de cession très attractif
77)
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
Bel outil de travail dans commune agréable
77)
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
Performance et Rentabilité !
77)
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
Sud 77 - Pharmacie à développer
77)
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 en Seine et Marne
77)
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
Belle opportunité suite départ en retraite
77)
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
vente pour départ en retraite.
77)
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
POTENTIEL +++. A VOIR SANS TARDER.
93)
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
Quartier animé de Seine Saint Denis
93)
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
EXCELLENT PROJET STRATÉGIQUE
93)
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
Centre-ville, Proche métro
93)
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 commune attractive
93)