38 lines
1.2 KiB
Ruby
38 lines
1.2 KiB
Ruby
class GeoAreaSerializer < ActiveModel::Serializer
|
|
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
|
|
end
|