]> git.openstreetmap.org Git - rails.git/blob - lib/map_layers.rb
Merge pull request #6394 from openstreetmap/dependabot/github_actions/ruby/setup...
[rails.git] / lib / map_layers.rb
1 # frozen_string_literal: true
2
3 module MapLayers
4   def self.full_definitions(layers_filename, legends: nil)
5     legended_layers = YAML.load_file(Rails.root.join(legends)).keys if legends
6     YAML.load_file(Rails.root.join(layers_filename))
7         .reject { |layer| layer["apiKeyId"] && !Settings[layer["apiKeyId"]] }
8         .map do |layer|
9           if layer["apiKeyId"]
10             layer["apikey"] = Settings[layer["apiKeyId"]]
11             layer.delete "apiKeyId"
12           end
13           layer["hasLegend"] = true if legended_layers&.include?(layer["layerId"])
14           layer
15         end
16   end
17
18   def self.embed_definitions(layers_filename)
19     full_definitions(layers_filename)
20       .select { |entry| entry["canEmbed"] }
21       .to_h { |entry| [entry["layerId"], entry.slice("leafletOsmId", "leafletOsmDarkId", "apikey").compact] }
22   end
23 end