Sha256: ab56b3a09d0c481cd7b52e304efa7e64eb19eb7044cc0cdb69379717fb6b3740

Contents?: true

Size: 1.51 KB

Versions: 2

Compression:

Stored size: 1.51 KB

Contents

#!/usr/bin/env ruby

require 'kiosk'
require 'json'

def gem_dir
  ServiceKiosk::Kiosk.gem_dir
end

def config
  file = File.read('Kioskfile.json')
  JSON.parse file
end

def vagrant_exec(command)
  exec "env KIOSK_GEM_DIR=#{gem_dir} #{command}"
end

case ARGV[0] 
when 'plaza:init', 'init'
  boxes = `env KIOSK_GEM_DIR=#{gem_dir} vagrant box list`
  if(/precise32/m.match boxes)
    puts 'plaza already initialized'
  else
    vagrant_exec 'vagrant init precise32 http://files.vagrantup.com/precise32.box'
  end

when 'plaza:up', 'up'
  vagrant_exec "vagrant up"

when 'plaza:down', 'down'
  vagrant_exec "vagrant destroy"

when 'plaza:ssh', 'ssh'
  vagrant_exec 'vagrant ssh'

when 'mall:open', 'open'
  vagrant_exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake kiosk:start'"

when 'mall:close', 'close'
  vagrant_exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake kiosk:stop'"

when 'mall:log', 'log'
  vagrant_exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake kiosk:log'"

when 'kiosk:run', 'run'
  env = config['kiosks'][ARGV[1]]['env']
  mall = gem_dir + "/lib/mall.rb"
  dir = Dir.pwd + '/kiosks/' + ARGV[1]
  puts "env: #{env.inspect}"
  puts "mall: #{mall}"
  puts "dir: #{dir}"
  jruby = `which jruby`.strip
  exec(env, "#{jruby} #{mall}", :chdir => dir, :unsetenv_others => true)

when 'create'
  if ARGV[1]=='mall'
    require 'fileutils'
    FileUtils.cp_r gem_dir + "/examples/kiosk_mall", "."
  end

else
  puts "Usage: $0 {plaza:init|plaza:up|plaza:down|plaza:ssh|mall:open|mall:close|mall:log}"
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
service_kiosk-0.5.6 bin/kiosk
service_kiosk-0.5.5 bin/kiosk