Sha256: d60e9d2f0d7ac7e9d7275b5836df86039f57c9847cbf535a3620d7d62577ee6d

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

#!/usr/bin/env ruby

require "jacana"
require "optparse"
require 'fileutils'

include FileUtils

options = {
    :Doc_Root => './',
    :Port => 1453,
    :Php_Path => '/usr/bin/env',
}

rewrite = nil


opt = OptionParser.new

opt.on('-d VAL') do |docroot|
  options[:Doc_Root] = docroot
end

opt.on('-p VAL') do |port|
  options[:Port] = port.to_i
end

opt.on('-s VAL') do |php_path|
  options[:Php_Path] = php_path.to_s
end

opt.on('-c VAL') do |composer|
  if composer == "true"
    system("curl -sS https://getcomposer.org/installer | php")
    system("mv composer.phar /usr/local/bin/composer")
  end
end

opt.on('--FRAMEWORK=PATH,NAME,VAL') do |framework|
  framework = framework.split(",")
  case framework[2]
    when 'laravel'

      if ! File.exist?('/usr/local/bin/composer')
        system("curl -sS https://getcomposer.org/installer | php")
        system("mv composer.phar /usr/local/bin/composer")
      end

      cd(framework[0], :verbose => false)
      system("composer create-project laravel/laravel #{framework[1]} --prefer-dist")
      system("chmod -R 0777 #{framework[0]}/#{framework[1]}")
      system("clear")
      puts "Laravel project is created !"
      options[:Doc_Root] = framework[0] + "/" + framework[1] + "/public"
  end
end

opt.parse!

puts "Jagana PHP Handler is Started !"

jacana_server = Jacana::JacanaHttpServer.new options


jacana_server.a_rewrite /\/(?<url>.*)/, '/index.php'

trap 'INT' do
  jacana_server.shutdown
end

jacana_server.start

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jacana-0.1.1 bin/jacana