lib/mapbox-gl/updater.rb in mapbox-gl-rails-0.47.0 vs lib/mapbox-gl/updater.rb in mapbox-gl-rails-0.48.0
- old
+ new
@@ -1,8 +1,9 @@
# frozen_string_literal: true
require 'thor'
+require 'yaml'
class Updater < Thor
include Thor::Actions
# Base assets storage URL
@@ -18,7 +19,29 @@
inside destination_root do
run('sass-convert -F css -T scss stylesheets/mapbox-gl.css stylesheets/mapbox-gl.scss')
end
remove_file 'stylesheets/mapbox-gl.css'
+
+ # https://www.mapbox.com/mapbox-gl-js/plugins/
+ #
+ plugins = YAML.load_file('plugins.yaml').fetch('plugins')
+
+ plugins.each do |plugin_name, options|
+ begin
+ plugin_base_url = File.join(BASE_URL, "/plugins/mapbox-gl-#{plugin_name}")
+ plugin_version = options.fetch('version')
+
+ get File.join(plugin_base_url, "v#{plugin_version}/#{options.fetch('js')}"), "javascripts/mapbox-gl-#{plugin_name}.js"
+ get File.join(plugin_base_url, "v#{plugin_version}/#{options.fetch('css')}"), "stylesheets/mapbox-gl-#{plugin_name}.css"
+
+ inside destination_root do
+ run("sass-convert -F css -T scss stylesheets/mapbox-gl-#{plugin_name}.css stylesheets/mapbox-gl-#{plugin_name}.scss")
+ end
+
+ remove_file "stylesheets/mapbox-gl-#{plugin_name}.css"
+ rescue KeyError => error
+ raise KeyError, "#{error.message} for #{plugin_name} plugin!"
+ end
+ end
end
end