class Hash

Attributes

defaults[R]

Public Instance Methods

[](k1, k2=nil) click to toggle source
# File lib/sushi_fabric/sushiApp.rb, line 137
def [](k1, k2=nil)
  if k2
    if @desc
      @desc.get([k1,k2].join('_'))
    else
      nil
    end
  else
    get(k1)
  end
end
Also aliased as: get
[]=(k1,k2,v=nil) click to toggle source
# File lib/sushi_fabric/sushiApp.rb, line 95
def []=(k1,k2,v=nil)
  if v
    @desc ||= {}
    @desc.set([k1,k2].join('_'),v)
  else
    @defaults ||= {}
    if !@defaults[k1] and k2
      if k2.instance_of?(Array)
        @defaults.set(k1,k2.first)
      elsif k2.instance_of?(Hash) and k2.first
        @defaults.set(k1,k2.first.last)
      else
        @defaults.set(k1,k2)
      end
    end
    set(k1,k2)
  end
end
Also aliased as: set
data_type(k) click to toggle source
# File lib/sushi_fabric/sushiApp.rb, line 120
def data_type(k)
  if @defaults
    @defaults[k].class
  else
    v = get(k)
    if v.instance_of?(Array)
      v.first.class
    elsif v.instance_of?(Hash)
      v.values.first.class
    else
      v.class
    end
  end
end
data_types() click to toggle source
# File lib/sushi_fabric/sushiApp.rb, line 134
def data_types
  Hash[@defaults.map{|k,v| [k, v.class]}]
end
default_value(k,v=nil) click to toggle source
# File lib/sushi_fabric/sushiApp.rb, line 113
def default_value(k,v=nil)
  if v
    @defaults[k] = v
  else
    @defaults[k]
  end
end
get(k1, k2=nil)
Alias for: []
set(k1,k2,v=nil)
Alias for: []=