demarches-normaliennes/app/serializers/geo_area_serializer.rb

39 lines
1.2 KiB
Ruby
Raw Normal View History

2018-10-22 19:27:52 +02:00
class GeoAreaSerializer < ActiveModel::Serializer
2018-10-30 11:05:08 +01:00
attributes :geometry, :source, :geo_reference_id
attribute :surface_intersection, if: :include_cadastre?
attribute :surface_parcelle, if: :include_cadastre?
attribute :numero, if: :include_cadastre?
attribute :feuille, if: :include_cadastre?
attribute :section, if: :include_cadastre?
attribute :code_dep, if: :include_cadastre?
attribute :nom_com, if: :include_cadastre?
attribute :code_com, if: :include_cadastre?
attribute :code_arr, if: :include_cadastre?
attribute :code, if: :include_quartier_prioritaire?
attribute :nom, if: :include_quartier_prioritaire?
attribute :commune, if: :include_quartier_prioritaire?
attribute :culture, if: :include_parcelle_agricole?
attribute :code_culture, if: :include_parcelle_agricole?
attribute :surface, if: :include_parcelle_agricole?
attribute :bio, if: :include_parcelle_agricole?
def geometry
object.safe_geometry
end
def include_cadastre?
object.source == GeoArea.sources.fetch(:cadastre)
end
def include_quartier_prioritaire?
object.source == GeoArea.sources.fetch(:quartier_prioritaire)
end
def include_parcelle_agricole?
object.source == GeoArea.sources.fetch(:parcelle_agricole)
end
2018-10-22 19:27:52 +02:00
end