diff options
author | Ralph Amissah <ralph@amissah.com> | 2011-05-05 22:09:45 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2011-05-05 22:09:48 -0400 |
commit | 8b7a793a7752bf7c562fc19e3bf9f05bfcdc7a64 (patch) | |
tree | 756f39fe59584723713c41c1defe9976a9062942 | |
parent | v3: 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.rb | 5 | ||||
-rw-r--r-- | lib/sisu/v3/sysenv.rb | 3 |
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}$/ |