Sha256: ce9beed5be05623ce7541b7d385f1abd919e8e677745c9837bbc09b3173890f2

Contents?: true

Size: 1.33 KB

Versions: 5

Compression:

Stored size: 1.33 KB

Contents

require 'rails/generators'
module Mapfish
  module Generators
    class ViewerGenerator < Rails::Generators::Base
      class_option "name", :type => :string, :required => true
      class_option "repo", :type => :string, :required => true

      source_root File.expand_path("../templates", __FILE__)

      def clone_viewer
        @viewer = options["name"]
        puts "Cloning viewer..."
        dir = Dir.mktmpdir
        begin
          git :clone => "--depth=1 #{options['repo']} #{dir}"
          Dir.glob("#{dir}/*").each do |fn|
            if File.directory?(fn)
              name = File.basename(fn).sub(/.+?(build)?$/, "#{@viewer}\\1")
              puts "Copy viewer to 'public/apps/#{name}/..."
              directory fn, "public/apps/#{name}", :verbose => false
              if File.directory?("#{fn}/.sencha")
                #TODO: replace app name in .sencha/app/sencha.cfg
                directory "#{fn}/.sencha", "public/apps/#{name}/.sencha", :verbose => false
              end
            end
          end
        ensure
          FileUtils.rm_rf dir
        end
      end

      def generate_viewer_html
        @viewer = options["name"]
        dest = "app/views/apps/#{@viewer}.html.erb"
        template "viewer.html.erb", dest
        puts "Please adapt javascript and css references in '#{dest}'"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gb_mapfish_appserver-0.0.5 lib/generators/mapfish/viewer/viewer_generator.rb
gb_mapfish_appserver-0.0.4 lib/generators/mapfish/viewer/viewer_generator.rb
gb_mapfish_appserver-0.0.3 lib/generators/mapfish/viewer/viewer_generator.rb
gb_mapfish_appserver-0.0.2 lib/generators/mapfish/viewer/viewer_generator.rb
gb_mapfish_appserver-0.0.1 lib/generators/mapfish/viewer/viewer_generator.rb