#! /usr/bin/ruby1.9.1 # encoding: utf-8 #SiSU: copyright (C) 1997 - 2012 Ralph Amissah; License GPL, see appended program information begin def ruby_version_ok?(base_version) @v ||=RUBY_VERSION.scan(/\d+/) vb=base_version.scan(/\d+/) if @v[0].to_i < vb[0].to_i \ or @v[0].to_i == vb[0].to_i \ && @v[1].to_i < vb[1].to_i \ or @v[0].to_i == vb[0].to_i \ && @v[1].to_i == vb[1].to_i \ && @v[1].to_i < vb[2].to_i raise "Please, use Ruby#{vb} or later, current Ruby #{RUBY_VERSION}" else check_incompatible_ruby_build? end end def check_incompatible_ruby_build? require 'rbconfig' e=Config::CONFIG if RUBY_VERSION == '1.9.2' \ && e['PATCHLEVEL'].to_i < 180 raise <<WOK There are known issues with early versions of ruby1.9.2. Please, use Ruby 1.9.2p180 or later, current version #{e['RUBY_PROGRAM_VERSION']}p#{e['PATCHLEVEL']} #{%x{ruby -v}.strip.to_s} WOK end end def check_sisu_legacy_ruby_version? rbv_sisu_legacy='1.9.2' #'1.8.7' ruby_version_ok?(rbv_sisu_legacy) end def check_sisu_stable_ruby_version? rbv_sisu_stable='1.9.2' ruby_version_ok?(rbv_sisu_stable) end def check_sisu_dev_ruby_version? rbv_sisu_dev='1.9.2' ruby_version_ok?(rbv_sisu_dev) end $VERBOSE=nil argv=$* SiSU_version_dir=case argv.inspect when /--v2/ check_sisu_legacy_ruby_version? 'v2' when /--v3/ check_sisu_stable_ruby_version? 'v3' when /--dev/ check_sisu_dev_ruby_version? 'v3' #'v3dv' else check_sisu_stable_ruby_version? 'v3' end SiSU_lib="sisu/#{SiSU_version_dir}" require "#{SiSU_lib}/termsheet" rescue STDERR.puts 'ERROR' STDERR.puts $! STDERR.puts $@ require 'rbconfig' e=Config::CONFIG puts %{ #{%x{ruby -v}.strip.to_s} #{RUBY_VERSION} ruby version: #{e['RUBY_PROGRAM_VERSION']}p#{e['PATCHLEVEL']} ruby named: #{e['ruby_version']} rubylib: #{e['rubylibdir']} rubylib local: #{e['sitelibdir']} } system(%{echo " system RUBYPATH: ${RUBYPATH} system RUBYLIB: ${RUBYLIB} "}) puts %{ On a Debian system the following system commands may help set the default version of ruby to 1.9.2: sudo update-alternatives --verbose --set ruby /usr/bin/ruby1.9.1 export RUBYPATH='/usr/local/bin:/usr/bin' export RUBYLIB='/usr/local/lib/site_ruby/1.9.1:/usr/lib/ruby/1.9.1:/usr/local/lib/site_ruby/1.8:/usr/lib/ruby/1.8' To return to ruby 1.8 (not suitable for sisu): sudo update-alternatives --verbose --set ruby /usr/bin/ruby1.8 export RUBYPATH='/usr/local/bin' export RUBYLIB='/usr/local/lib/site_ruby/1.8:/usr/lib/ruby/1.8:/usr/local/lib/site_ruby/1.9.1:/usr/lib/ruby/1.9.1' } end __END__ * Name: SiSU * Description: a framework for document structuring, publishing and search * Author: Ralph Amissah * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Ralph Amissah, All Rights Reserved. * License: GPL 3 or later: SiSU, a framework for document structuring, publishing and search Copyright (C) Ralph Amissah This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. If you have Internet connection, the latest version of the GPL should be available at these locations: <http://www.fsf.org/licensing/licenses/gpl.html> <http://www.gnu.org/licenses/gpl.html> <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html> * SiSU uses: * Standard SiSU markup syntax, * Standard SiSU meta-markup syntax, and the * Standard SiSU object citation numbering and system * Hompages: <http://www.jus.uio.no/sisu> <http://www.sisudoc.org> * Download: <http://www.sisudoc.org/sisu/en/SiSU/download.html> * Ralph Amissah <ralph@amissah.com> <ralph.amissah@gmail.com> ** Description: SiSU information Structuring Universe, specialised pre-processing wrapper sisu -t x_bank.and.* e.g. sisu -t x_bank.and.*.termsheet.rb e.g. sisu_termsheet.rb -t x_bank.and.c*.termsheet.rb program calls upon termsheet file with extension termsheet.rb termsheet.rb calls upon relevant standard form files (to be used) with extension .sForm.rb there is also a standard_terms.rb file - with terms/details that are constant the file produced is named after the termsheet.rb with that extension replaced with .er30 from there scribbler.rb is called upon its usual metaVerse html and pdf creation ! :-) to test run termsheet.rb -f dev.export.import.trade.facility.termsheet.rb the term sheet calls the standard form or template that is to be run against it.