Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/sushi_fabric/sushiApp.rb
Instance Attribute Summary collapse
-
#defaults ⇒ Object
readonly
Returns the value of attribute defaults.
Instance Method Summary collapse
- #[](k1, k2 = nil) ⇒ Object
- #[]=(k1, k2, v = nil) ⇒ Object
- #data_type(k) ⇒ Object
- #data_types ⇒ Object
- #default_value(k, v = nil) ⇒ Object
- #get ⇒ Object
- #set ⇒ Object
Instance Attribute Details
#defaults ⇒ Object (readonly)
Returns the value of attribute defaults.
89 90 91 |
# File 'lib/sushi_fabric/sushiApp.rb', line 89 def defaults @defaults end |
Instance Method Details
#[](k1, k2 = nil) ⇒ Object
136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/sushi_fabric/sushiApp.rb', line 136 def [](k1, k2=nil) if k2 if @desc @desc.get([k1,k2].join('_')) else nil end else get(k1) end end |
#[]=(k1, k2, v = nil) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/sushi_fabric/sushiApp.rb', line 92 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 |
#data_type(k) ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/sushi_fabric/sushiApp.rb', line 119 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 ⇒ Object
133 134 135 |
# File 'lib/sushi_fabric/sushiApp.rb', line 133 def data_types Hash[@defaults.map{|k,v| [k, v.class]}] end |
#default_value(k, v = nil) ⇒ Object
110 111 112 113 114 115 116 117 118 |
# File 'lib/sushi_fabric/sushiApp.rb', line 110 def default_value(k,v=nil) if v @defaults[k] = v else if @defaults @defaults[k] end end end |
#get ⇒ Object
91 |
# File 'lib/sushi_fabric/sushiApp.rb', line 91 alias :get :[] |
#set ⇒ Object
90 |
# File 'lib/sushi_fabric/sushiApp.rb', line 90 alias :set :[]= |