aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3/hub.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3/hub.rb')
-rw-r--r--lib/sisu/v3/hub.rb79
1 files changed, 34 insertions, 45 deletions
diff --git a/lib/sisu/v3/hub.rb b/lib/sisu/v3/hub.rb
index c4eed640..2e0fb92c 100644
--- a/lib/sisu/v3/hub.rb
+++ b/lib/sisu/v3/hub.rb
@@ -59,8 +59,33 @@
module SiSU
require_relative 'constants' # constants.rb
require_relative 'sysenv' # sysenv.rb
+ include SiSU_Env
include SiSU_Screen
- @@pwd_the=Dir.pwd
+ require_relative 'options' # options.rb
+ require_relative 'param' # param.rb
+ include SiSU_Param
+ require_relative 'defaults' # defaults.rb
+ include SiSU_Viz
+ require_relative 'help' # help.rb
+ include SiSU_Help
+ require 'uri'
+ class HubMaster
+ def initialize(argv)
+ pwd_the=Dir.pwd
+ begin #% select what to do
+ home=ENV['HOME']
+ opt=SiSU_Commandline::Options.new(argv)
+ SiSU::Processing.new(opt).actions
+ rescue
+ cmd=(opt ? opt.cmd : '')
+ SiSU_Screen::Ansi.new(cmd,$!,$@).rescue do
+ __LINE__.to_s + ':' + __FILE__
+ end
+ ensure
+ Dir.chdir(pwd_the)
+ end
+ end
+ end
class OptionLoopFiles
def initialize(opt)
@opt=opt
@@ -116,7 +141,7 @@ module SiSU
number_of_files={}
@opt.files.each_with_index do |fns,i|
fn=fns.gsub(/(?:~(?:#{@r}))?\.ss[tm]$/,'')
- if number_of_files[fn].class == Array
+ if number_of_files[fn].is_a?(Array)
number_of_files[fn] << i
else
number_of_files.store(fn,[i])
@@ -184,23 +209,16 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
require_relative 'cgi' # cgi.rb
SiSU_CGI::SearchSQL.new(@opt).read
end
- def encoding # -K build character encoding db (uses KirbyBase)
- require_relative 'character_encoding' # character_encoding.rb
- SiSU_CharacterEncode::Create.new.db
- end
def termsheet # -t
system("sisu_termsheet #{@opt.cmd} #{@opt.fns}\n")
@@n_do=@@n_do+1
SiSU_Screen::Ansi.new(@opt.cmd,@@n_do,'Termsheet(s) processed').term_sheet_title unless @opt.act[:quiet][:set] ==:on
end
def webrick # -W
- port=prt=@fns
- prt=if prt !~/\d+/
- 'webrick default (sysenv)'
- else "webrick port set to #{prt}"
- end
+ prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
- system("sisu_webrick #{port}&\n")
+ require_relative 'webrick'
+ SiSU_Webserv::WebrickStart.new
end
def not_found
puts "\n#{@cX.fuschia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.cmd} processing skipped\n"
@@ -229,10 +247,11 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
class Processing
require 'fileutils'
include FileUtils
- @@env=SiSU_Env::InfoEnv.new
+ @@env=nil
attr_accessor :op
def initialize(opt)
@opt=opt
+ @@env=SiSU_Env::InfoEnv.new
@msg,@msgs='',nil
@tell=lambda { SiSU_Screen::Ansi.new(@opt.cmd,@msg,"#{@msgs.inspect if @msgs}") }
end
@@ -501,10 +520,8 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
def do_initialization
@cX=SiSU_Screen::Ansi.new(@opt.cmd).cX
flag=SiSU_Env::InfoProcessingFlag.new
- if @opt.cmd =~/[vVM]/ #% version information
- unless @opt.files.empty?
- SiSU_Help::Help.new('env',@opt).sisu_version
- end
+ if @opt.act[:version_info][:set]==:on #% version information
+ SiSU_Help::Help.new('env',@opt).sisu_version
end
if @opt.act[:license][:set]==:on #% license information
SiSU_Help::Help.new('license',@opt).help_request
@@ -692,33 +709,5 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
end
end
end
- begin #% select what to do
- if RUBY_VERSION < '1.9'
- require 'jcode'
- $KCODE='UTF8'
- end
- require_relative 'constants' # constants.rb
- require_relative 'options' # options.rb
- require_relative 'sysenv' # sysenv.rb
- include SiSU_Env; include SiSU_Screen
- require_relative 'param' # param.rb
- include SiSU_Param
- require_relative 'defaults' # defaults.rb
- include SiSU_Viz
- require_relative 'help' # help.rb
- include SiSU_Help
- require 'uri'
- home=ENV['HOME']
- argv=$*
- @opt=SiSU_Commandline::Options.new(argv)
- SiSU::Processing.new(@opt).actions
- rescue
- cmd=(@opt ? @opt.cmd : '')
- SiSU_Screen::Ansi.new(cmd,$!,$@).rescue do
- __LINE__.to_s + ':' + __FILE__
- end
- ensure
- Dir.chdir(@@pwd_the)
- end
end
__END__