Sha256: 82e543297fc3b409d92949a07904d6e7cd0e8454a9c1182964b5c1ebd376ef68

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

#!/usr/bin/env ruby

require 'thor'
require 'pyro'

class PyroCLI < Thor

  desc 'new NAME', 'Creats a new app'
  def new(name)
    FileUtils.cp_r("#{File.dirname(__FILE__)}/../templates/app", name)
  end

	desc 'burn DIR', 'Builds an app for production'
  def burn(dir = '.')
    Pyro.burn('production', false, dir)
  end

  desc 'serve', 'Starts a Pyro app on localhost,
                 --fast skips asset reloading,
                 --test includes tests'

  option :fast
  option :test
  def serve
    require 'pyro/server'

    if options[:fast]
      PyroServer.set :fast, true
    else
      PyroServer.set :fast, false
    end

    PyroServer.set(:target, 'test') if options[:test]

    PyroServer.run!
  end

  desc 'stage BUILD', 'Stages a Pyro build on localhost'
  def stage(build_num = false)
    if build_num
      build_dir = "./pkg/#{build_num}"
    else
      Pyro.burn('production', false) if Dir.glob('./pkg/**').count == 0
      build_dir = Dir.glob('./pkg/**').last
    end

    unless Dir.exists? build_dir
      puts "That build doesn't exist. Try running 'pyro burn' to create a build."
      exit
    end

    require 'pyro/server'
    PyroServer.set :public_folder, build_dir
    PyroServer.set :staging, true
    PyroServer.run!
  end

end

PyroCLI.start(ARGV)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pyro-1.0.0.rc1 bin/pyro