#!/usr/bin/env ruby
#
# Copyright (C) 2012 GREE, Inc.
#
# This software is provided 'as-is', without any express or implied
# warranty.  In no event will the authors be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
#    claim that you wrote the original software. If you use this software
#    in a product, an acknowledgment in the product documentation would be
#    appreciated but is not required.
# 2. Altered source versions must be plainly marked as such, and must not be
#    misrepresented as being the original software.
# 3. This notice may not be removed or altered from any source distribution.
#
require 'base64'
require 'lzma'

def lwf2lwfjs(*args)
  lwf = args[0]
  lwf =~ /([^\/]*)\.lwf$/
  lwfname = $1.downcase

  str = Base64.encode64(LZMA.compress(File.binread(lwf)))

  f = File.open(lwf.sub(/\.lwf$/, '.lwf.js'), "wb")
  f.print <<-EOL
global['LWF'] = global['LWF'] || {};
global['LWF']['DataScript'] = global['LWF']['DataScript'] || {};
global['LWF']['DataScript']['#{lwfname}'] = "#{str.split.join}";
  EOL
  f.close
end

if $0 == __FILE__
  lwf2lwfjs(*ARGV)
end
