Sha256: 3aee2b88dde1119efa29f2cd47563edcd2b4893600512a1456865b0513212397

Contents?: true

Size: 1.89 KB

Versions: 11

Compression:

Stored size: 1.89 KB

Contents

require 'thor'

module Magicspec
  class CLI < Thor
    include Thor::Actions

    def self.source_root
      File.join File.dirname(__FILE__)
    end

    def self.source_paths
      puts source_root
      [source_root + '/generators', source_root + '/templates']
    end
    
    desc 'new NAME', 'create a magicspec project'
    def new(name)
      @name = name
      if name
        directory 'magicspec', name
      else
        say 'no app name'
      end
    end

    desc 'run ', 'run test case with rspec'
    def start
      ARGV.shift
      puts "rspec #{ARGV.join('')}" if $debug
      #run "LOCAL=true rspec #{ARGV.join('')}"
      run "LOCAL=true rspec"
    end

    # Might just dump the console
    desc 'c ', 'open magicspec console'
    def c
      run 'bin/console'
    end
    
    desc "new_page NAME", "create a new page"
    def new_page(name)
      @name = name
      template('template_page.rb.tt', "./app/pages/#{name}_page.rb")
    end
    

    desc "new_spec NAME ", "create a new spec"
    option :type,:required => false
    method_option :type,
      :default => "browser",
      :aliases => "-t",
      :desc => "which type of template to create [browser,webService,plain]."

    # Could probably stand to DRY this up a bit, but it works fine.
    def new_spec(name)
      @name = name
      case options["type"].downcase
      when "browser"
        template('browser_spec_template.rb.tt', "./app/spec/#{name}_spec.rb")
      when "webservice"
        template('web_service_template.rb.tt', "./app/spec/#{name}_spec.rb")
      when "plain"
        template('plain_template.rb.tt', "./app/spec/#{name}_spec.rb")
      when "mobile"
        template('mobile_template.rb.tt', "./app/spec/#{name}_spec.rb")
      else
        say "Sorry :(. I'm not sure what you're trying to do?"
      end
    end
  end #CLI
  CLI.start
end #Lazyman

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
magicspec-0.0.11 lib/magicspec/cli.rb
magicspec-0.0.10 lib/magicspec/cli.rb
magicspec-0.0.9 lib/magicspec/cli.rb
magicspec-0.0.8 lib/magicspec/cli.rb
magicspec-0.0.7 lib/magicspec/cli.rb
magicspec-0.0.6 lib/magicspec/cli.rb
magicspec-0.0.5 lib/magicspec/cli.rb
magicspec-0.0.4 lib/magicspec/cli.rb
magicspec-0.0.3 lib/magicspec/cli.rb
magicspec-0.0.2 lib/magicspec/cli.rb
magicspec-0.0.1 lib/magicspec/cli.rb