Sha256: 0a7ff0832056d446b37dbc2bde8a352892ad2a506908c2d2a5defea278e6cead

Contents?: true

Size: 1.58 KB

Versions: 17

Compression:

Stored size: 1.58 KB

Contents

module Templater

  module CLI

    class Manifold

      def initialize(destination_root, manifold, name, version)
        @destination_root, @manifold, @name, @version = destination_root, manifold, name, version
      end

      def version
        puts @version
        exit
      end

      def self.run(destination_root, manifold, name, version, arguments)
        if arguments.blank? || (arguments.first && ["help", "-h", "--help"].include?(arguments.first))
          Manifold.new(destination_root, manifold, name, version).run(arguments)
          return
        end

        generator_name = arguments.shift
        if generator_class = manifold.generator(generator_name)
          Generator.new(generator_name, generator_class, destination_root, name, version).run(arguments)
        else
          Manifold.new(destination_root, manifold, name, version).run(arguments)
        end
      end

      def run(arguments)
        @options = Templater::CLI::Parser.parse(arguments)
        self.help
      end

      # outputs a helpful message and quits
      def help
        puts "Usage: #{@name} generator_name [options] [args]"
        puts ''
        puts @manifold.desc
        puts ''
        puts 'Available generators'
        @manifold.public_generators.sort do |one, other|
          one[0].to_s <=> other[0].to_s
        end.each do |name, generator|
          print "    "
          print name.to_s.ljust(33)
          print generator.desc.to_lines.first.chomp if generator.desc
          print "\n"
        end
        puts @options[:opts]
        puts ''
        exit
      end

    end

  end

end

Version data entries

17 entries across 16 versions & 3 rubygems

Version Path
middleman-0.13.1 lib/middleman/vendor/gems/ruby/1.8/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.13.1 lib/middleman/vendor/gems/ruby/1.9.1/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.12.2 lib/middleman/vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.12.1 lib/middleman/vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
ginst-2009.12.8 vendor/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.12.0.pre3 lib/middleman/vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.12.0.pre2 lib/middleman/vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.12.0.pre lib/middleman/vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
ginst-2009.11.24 vendor/gems/templater-1.0.0/lib/templater/cli/manifold.rb
ginst-2009.11.23 vendor/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.10.17 vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.10.16 vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.10.15 vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
middleman-0.10.14 vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb
ginst-2.0.1 vendor/gems/templater-1.0.0/lib/templater/cli/manifold.rb
ginst-2.0.0 vendor/gems/templater-1.0.0/lib/templater/cli/manifold.rb
templater-1.0.0 lib/templater/cli/manifold.rb