Sha256: cd2f4add95b194f79cea8decf4d8460d324490b3e51f6b27ec3d81dc8313eb7c

Contents?: true

Size: 1.73 KB

Versions: 23

Compression:

Stored size: 1.73 KB

Contents

module Padrino
  module Generators
    ##
    # Responsible for generating new task file for Padrino application.
    #
    class Task < Thor::Group
      include Thor::Actions
      include Padrino::Generators::Actions
      include Padrino::Generators::Components::Actions

      Padrino::Generators.add_generator(:task, self)

      class << self
        def source_root; File.expand_path(File.dirname(__FILE__)); end
        def banner; "padrino-gen task [name]"; end
      end

      desc "Description:\n\n\tpadrino-gen task generates a new task file."

      argument     :name,        :desc => 'The name of your application task'
      class_option :root,        :desc => 'The root destination',                     :aliases => '-r', :default => '.', :type => :string
      class_option :description, :desc => 'The description of your application task', :aliases => '-d', :default => nil, :type => :string
      class_option :namespace,   :desc => 'The namespace of your application task',   :aliases => '-n', :default => nil, :type => :string

      # Show help if no ARGV given
      require_arguments!

      def create_task
        validate_namespace name
        self.destination_root = options[:root]
        if in_app_root?
          app        = options[:app]
          @task_name = name.to_s.underscore
          @namespace = options[:namespace].underscore if options[:namespace]
          @desc      = options[:description]
          filename   = @task_name + ".rake"
          filename   = "#{@namespace}_#{filename}" if @namespace

          template 'templates/task.rb.tt', destination_root('tasks', filename)
        else
          say 'You are not at the root of a Padrino application! (config/boot.rb not found)'
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
padrino-gen-0.16.0.pre3 lib/padrino-gen/generators/task.rb
padrino-gen-0.16.0.pre2 lib/padrino-gen/generators/task.rb
padrino-gen-0.15.3 lib/padrino-gen/generators/task.rb
padrino-gen-0.15.2 lib/padrino-gen/generators/task.rb
padrino-gen-0.15.1 lib/padrino-gen/generators/task.rb
padrino-gen-0.15.0 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.4 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.3 lib/padrino-gen/generators/task.rb
padrino-gen-0.12.9 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.2 lib/padrino-gen/generators/task.rb
padrino-gen-0.13.3.4 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.1.1 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.1 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.0.2 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.0.1 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.0 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.0.rc2 lib/padrino-gen/generators/task.rb
padrino-gen-0.14.0.rc1 lib/padrino-gen/generators/task.rb
padrino-gen-0.13.3.3 lib/padrino-gen/generators/task.rb
padrino-gen-0.13.3.2 lib/padrino-gen/generators/task.rb