Module: SlashedHash
- Defined in:
- lib/quickbooks/structure.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.prepare_for_overwrites!(hsh) ⇒ Object
305 306 307 308 309 310 311 |
# File 'lib/quickbooks/structure.rb', line 305 def self.prepare_for_overwrites!(hsh) class << hsh # alias :append_value_unslashed :<< alias :set_value_unslashed :[]= alias :get_value_unslashed :[] end end |
Instance Method Details
#<<(v) ⇒ Object
316 317 318 |
# File 'lib/quickbooks/structure.rb', line 316 def <<(v) v.(self) end |
#[](k) ⇒ Object
319 320 321 322 323 324 325 326 327 328 329 330 |
# File 'lib/quickbooks/structure.rb', line 319 def [](k) if k.slashed? leaf = self k.split('/').each do |s| leaf = leaf[s] break unless leaf.is_a?(Hash) end leaf else get_value_unslashed(k) end end |
#[]=(k, v) ⇒ Object
331 332 333 334 335 336 337 |
# File 'lib/quickbooks/structure.rb', line 331 def []=(k,v) if k.slashed? (k+'/'+v).(self,true) else set_value_unslashed(k,v) end end |
#flattened ⇒ Object
313 314 315 |
# File 'lib/quickbooks/structure.rb', line 313 def flattened flatten_slashes end |