Skip to content

Commit 4b44be1

Browse files
committed
Add population to places index
1 parent 096b9d1 commit 4b44be1

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

app/lib/ecds/enhance/georgia_coast_places.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def enhance
3535
@document[:media_types] = media_types
3636
@document[:identifiers] = identifiers
3737
@document[:works] = works
38+
@document[:population] = population
3839
geojson
3940
@document[:date_modified] = date_modified
4041
@document[:slug] = slug
@@ -132,6 +133,27 @@ def slug
132133

133134
@document[:slug]
134135
end
136+
137+
def population
138+
return unless @document[:types].include? 'Populated Place'
139+
140+
osm_rels = CoreDataConnector::Relationship.where(
141+
project_model_relationship_id: 57,
142+
related_record: @record
143+
)
144+
145+
return if osm_rels.empty?
146+
147+
props = osm_rels.map(&:primary_record).map do |osm|
148+
JSON.parse(osm.user_defined['8f35ead2-fa02-4273-8c21-90fea494f362'], symbolize_names: true)
149+
end
150+
151+
populations = props.filter { |prop| prop.keys.include? :population }.map { |p| p[:population] }
152+
153+
return if populations.empty?
154+
155+
populations.map(&:to_i).max
156+
end
135157
end
136158
end
137159
end

0 commit comments

Comments
 (0)