Sha256: 165552e5b4e7226413ca6e0972dff6707d187ee8ee07fecf2f77e12214bcb05f

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

# -*- encoding : utf-8 -*-

require 'rails/generators'
require 'rails/generators/migration'

require 'mdwa/dsl'

module Mdwa
  module Generators
    class CodeGenerator < Rails::Generators::Base
      
      include Rails::Generators::Migration
      
      source_root File.expand_path("../templates", __FILE__)
      
      argument :entities, :type => :array, :banner => 'Specific entities', :default => []
      
      #
      # Constructor
      # Require all entities to load the DSL of the application
      def initialize(*args, &block)
        super
        
        # include files with entities
        # select entities that will be generated
        inside Rails.root do
          if entities.count.zero?
            require_all MDWA::DSL::STRUCTURAL_PATH unless Dir.glob("#{MDWA::DSL::STRUCTURAL_PATH}/*.rb").count.zero?
          else
            files = entities.collect{ |e| "#{MDWA::DSL::STRUCTURAL_PATH}#{MDWA::DSL::Entity.new(e).file_name}.rb" }
            require_all files.join(', ')
          end
        end
        @all_entities = MDWA::DSL.entities.all
      end
      
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mdd-3.0.6 lib/generators/mdwa/template/template_generator.rb