aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2011-05-05 22:09:45 -0400
committerRalph Amissah <ralph@amissah.com>2011-05-05 22:09:48 -0400
commit8b7a793a7752bf7c562fc19e3bf9f05bfcdc7a64 (patch)
tree756f39fe59584723713c41c1defe9976a9062942
parentv3: date, version, changelog (diff)
v3: i18n, sysenv, class variable to prevent unnecessary re-construction of hashsisu_3.0.8
* prevent program from becoming as slow as treacle, a fix
-rw-r--r--lib/sisu/v3/i18n.rb5
-rw-r--r--lib/sisu/v3/sysenv.rb3
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/sisu/v3/i18n.rb b/lib/sisu/v3/i18n.rb
index 683e6098..1001b6fb 100644
--- a/lib/sisu/v3/i18n.rb
+++ b/lib/sisu/v3/i18n.rb
@@ -57,10 +57,11 @@
=end
module SiSU_i18n
+ @@language_table,@@language_list=nil,nil
class Languages
def language
def table
- list= {
+ @@language_table ||= {
am: { c: 'am', n: 'Amharic', xlp: 'amharic'},
bg: { c: 'bg', n: 'Bulgarian', xlp: 'bulgarian'},
bn: { c: 'bn', n: 'Bengali', xlp: 'bengali'},
@@ -123,7 +124,7 @@ module SiSU_i18n
}
end
def list
- list= {
+ @@language_list ||= {
'am' => table[:am],
'bg' => table[:bg],
'bn' => table[:bn],
diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb
index f757233f..a1c6228b 100644
--- a/lib/sisu/v3/sysenv.rb
+++ b/lib/sisu/v3/sysenv.rb
@@ -58,6 +58,7 @@
=end
@@cX=nil
@@current_document=Dir.pwd #nil #''
+@@lang_info=nil
module SiSU_Env
require_relative 'constants' # constants.rb
require 'fileutils'
@@ -800,7 +801,7 @@ module SiSU_Env
@lang_info=SiSU_i18n::Languages.new
end
def lang_lst # from i18n
- @lang_info.language.list
+ @@lang_info ||=@lang_info.language.list
end
def lang(l='') # from i18n
x=if l =~/^#{@r}$/