dryade/map_layers

View on GitHub
lib/generators/map_layers/builder_generator.rb

Summary

Maintainability
A
0 mins
Test Coverage
module MapLayers
  module Generators
    class BuilderGenerator < Rails::Generators::Base
      source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))

      desc <<DESC
Description:
    Copies Piktur configuration file to your application's initializer directory.
DESC

      class_option :builder_type, :type => :string, :aliases => "-b", :desc => "Builder engine to generate. Available options are 'kml', 'georss' and 'wps' .", :default => "wps"

      # rails generate map_layers:builder --builder_type kml
      # rails generate map_layers:builder -b kml
      def copy_builder_file
        case builder_type = options[:builder_type].to_s
          when "kml", "georss", "gpx"
            create_builder_for(builder_type)
          else
            create_builder_for(:kml)
        end
      end

      protected

      def create_builder_for(engine)
        # TODO : add more builders
        engine = :kml
        template "index.#{engine}.builder", "app/views/map_layers/index.#{engine}.builder"
      end
    end
  end
end