Sha256: f92c0e168761a098b10f41923e304fc339faf93428202db3997983c028f7e1e7

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

require 'thor'
require 'thor/group'
require 'thor/actions'
require 'active_support/core_ext/string'

module Appjam
  module Generators
    class Model < Thor::Group

      # Add this generator to our appjam
      Appjam::Generators.add_generator(:model, self)

      # Define the source template root
      def self.source_root; File.expand_path(File.dirname(__FILE__)); end
      def self.banner; "appjam model [name]"; end

      # Include related modules
      include Thor::Actions

      desc "Description:\n\n\tappjam will generates an new PureMvc Model for iphone"

      argument :name, :desc => "The name of your puremvc model"

      class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string
      class_option :destroy, :aliases => '-d', :default => false,   :type    => :boolean

      # Show help if no argv given
      #require_arguments!
    
      def in_app_root?
        File.exist?('Classes')
      end     

      def create_app
        self.destination_root = options[:root]
        @project_name = name.gsub(/\W/, "_").downcase
        @class_name = name.gsub(/\W/, "_").capitalize 
        app = options[:model]
        self.behavior = :revoke if options[:destroy]

        say (<<-TEXT).gsub(/ {10}/,'')
      
      =================================================================
      Your #{@class_name} Model app has been generated.
      =================================================================
      
      TEXT
      end
    end # Model
  end # Generators
end # Appjam

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appjam-0.1.0.pre9 lib/appjam/generators/model.rb