module Configurable

Constants

ADD_SYMBOL
FONT_TYPE_SYMBOL
LC_SYMBOL

Public Class Methods

clear_properties_group_cache(_group, _suff='conf') click to toggle source
# File lib/a-commons.rb, line 1004
def Configurable.clear_properties_group_cache(_group, _suff='conf')
  group_key="#{_suff}.#{_group}"
  if !@@conf_groups[group_key].nil?
    @@conf_groups[group_key].clear
    @@conf_groups[group_key] = nil
  end 
end
properties_group(_group, _hash_source, _hash_suff='conf', _refresh=false) click to toggle source
# File lib/a-commons.rb, line 987
def Configurable.properties_group(_group, _hash_source, _hash_suff='conf', _refresh=false)
  group_key="#{_hash_suff}.#{_group}"
  @@conf_groups = Hash.new if !defined?(@@conf_groups)
  if @@conf_groups[group_key].nil? || _refresh 
    @@conf_groups[group_key] = Hash.new
    glen=_group.length
    _hash_source.keys.sort.each{|k|
      if k[0..glen] == "#{_group}."
        @@conf_groups[group_key][k[glen+1..-1]]=_hash_source[k]
      elsif @@conf_groups[group_key].length > 0
        break
      end
    }
  end
  Hash.new.update(@@conf_groups[group_key])
end

Public Instance Methods

hash2properties_file(_hash=nil, _file=nil) click to toggle source

def one_line_format_as_hash(_line)

ret = Hash.new

end

def hash_as_one_line_format(_name, _hash) end

# File lib/a-commons.rb, line 972
def hash2properties_file(_hash=nil, _file=nil)
  if _hash && _file && FileTest.writable?(File.dirname(_file))
    f = File.new(_file, "w")
    begin
      if f
        _hash.keys.sort.each{|key|
          f.syswrite("#{key}=#{_hash[key]}\n")
        }
      end
    ensure
      f.close unless f.nil?
    end
  end
end
make_locale_value(_value='', _locale_hash=nil) click to toggle source

@deprecated

# File lib/a-commons.rb, line 1084
def make_locale_value(_value='', _locale_hash=nil)
  value = _value.strip if _value
  if value && _locale_hash && value.length > 3 && value[0..2]==LC_SYMBOL
    value = _locale_hash[value[3..-1]] if _locale_hash[value[3..-1]]
  end
  value
end
make_value(_self_context=self, _value='') click to toggle source
# File lib/a-commons.rb, line 1074
def make_value(_self_context=self, _value='')
  return nil if _value.nil?
  value = _value.strip
  if value[0..0]=='!'
    value=_self_context.instance_eval(value[1..-1])
  end
  value
end
properties_file2hash(_property_file, _link_hash=nil) click to toggle source
# File lib/a-commons.rb, line 903
def properties_file2hash(_property_file, _link_hash=nil)
  r_hash = Hash.new
  if _property_file &&  FileTest::exist?(_property_file)
    f = File::open(_property_file,'r')
    begin
      _lines = f.readlines
      _lines.each{|_line|
        _strip_line = _line.strip
        if (_strip_line.length > 0)&&(_strip_line[0,1]!='#')
          var_plat = _line.split('::')
          if var_plat.length > 1
            case var_plat[0]
            when 'WINDOWS'
              plat_enabled =  OS.windows?
            when 'MAC'
              plat_enabled =  OS.mac?
            when 'LINUX'
              plat_enabled =  OS.linux?
            when 'FREEBSD'
              plat_enabled =  OS.freebsd?
            when 'UNIX'
              plat_enabled =  OS.unix?
            when 'ARM'
              plat_enabled =  OS.arm?
            end
            if plat_enabled
              _line = var_plat[1]
              var_plat[2..-1].collect{|x| _line=_line+'::'+x} if var_plat.length > 2
            else
              _line = ''
            end
          end
          var_ruby_version = _line.split(':@:')
          if var_ruby_version.length > 1
            version = var_ruby_version[0]
            if (RUBY_VERSION[0..version.length-1]==version)
              _line = var_ruby_version[1]
            else
              _line = ''
            end
          end

          var = _line.split('=')
          if var.length > 1
            _value = var[1].strip
            var[2..-1].collect{|x| _value=_value+'='+x} if var.length > 2
            if _link_hash
              _value = resolve_value(_value, _link_hash)
            end
            r_hash[var[0].strip]=_value
          end
        end
      }
    ensure
      f.close unless f.nil?
    end
    return r_hash
  else
    puts 'warning--file does not exist', _property_file
  end
end
resolve_locale_value(_value, _hash_source) click to toggle source
# File lib/a-commons.rb, line 1025
def resolve_locale_value(_value, _hash_source)
  if _value.length > 3 && _value[0..2]==LC_SYMBOL
    _value=_hash_source[_value[3..-1]] if _hash_source[_value[3..-1]]
  end
  return _value
end
resolve_value(_value, _hash_source) click to toggle source
# File lib/a-commons.rb, line 1012
def resolve_value(_value, _hash_source)
  if _value.length > 0
    _v, _vadd = _value.split(ADD_SYMBOL)
  else
    _v = _value
  end
  if _v.length > 3 && _v[0..2]==LINK_SYMBOL
    _v=_hash_source[_v[3..-1]] if _hash_source[_v[3..-1]]
    _v=_v+_vadd if _vadd
  end
  return _v
end