Sha256: 04f03e573dd60a5653d4a98a4a8de6adeea8ebb35fbf03069f3862c437bdc6ef

Contents?: true

Size: 1.59 KB

Versions: 1

Compression:

Stored size: 1.59 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

php_configfile = '.rewriterule'



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


if File.exist? php_configfile
  config = File.read php_configfile
  jacana_server.instance_eval config
end

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.2 bin/jacana