Sha256: 0f765ee06fb0f6b58de3e360ffacbf1ce11ca03777a1f5e784653eec60e55926

Contents?: true

Size: 1.54 KB

Versions: 25

Compression:

Stored size: 1.54 KB

Contents

module Sprout
  class GeneratorGenerator < Generator::Base

    add_param :namespace, String, { :default  => ''}
    add_param :lib, String, { :default => 'lib' }
    add_param :generators, String, { :default => 'generators' }
    add_param :test, String, { :default => 'test' }
    add_param :unit, String, { :default => 'unit' }
    add_param :fixtures, String, { :default => 'fixtures' }
    add_param :vendor, String, { :default => 'vendor' }    
    add_param :bin, String, { :default => 'bin' }
    add_param :extension, String, { :default => '.as' }

    def manifest  
      directory bin do
        template "#{input.snake_case}", "generator_executable"
      end

      directory lib do
        #We need to add a folder with the same name as the module to be used in order to faux namespace our generators to avoid collisions from super classes
        directory namespace do
          directory generators do
            template "#{input.snake_case}_generator.rb", "generator_class.rb"
            directory "templates" do
              template "#{input.camel_case}#{extension}", "generator_template"
            end
          end
        end
      end

      directory test do
        directory unit do
          template "#{input.snake_case}_generator_test.rb", "generator_test.rb"
          template "test_helper.rb", "generator_test_helper.rb"
        end
        directory fixtures do
          directory "generators"
        end
      end
      
      #This should actually be moved to the library generator
      #directory vendor

    end

  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
sprout-1.0.32.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.31.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.29.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.26.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.25.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.24.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.23.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.22.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.20.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.19.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.18.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.17.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.16.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.15.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.14.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.13.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.11.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.9.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.8.pre lib/sprout/generators/generator/generator_generator.rb
sprout-1.0.5.pre lib/sprout/generators/generator/generator_generator.rb