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