class Hash::Accessible

Public Class Methods

make_accessible(value) click to toggle source
# File lib/hash_ext/accessible.rb, line 4
def self.make_accessible(value)
  if value.kind_of? Hash
    self.new value
  elsif value.kind_of? ::Array
    Accessible::Array.new value
  else
    value
  end
end

Public Instance Methods

[]=(key, value) click to toggle source
Calls superclass method
# File lib/hash_ext/accessible.rb, line 27
def []=(key, value)
  super key, Accessible.make_accessible(value)
end

Private Instance Methods

method_missing(method, *args, &block) click to toggle source
# File lib/hash_ext/accessible.rb, line 33
def method_missing(method, *args, &block)
  if method.to_s.end_with? '='
    key = method[0..-2]
    self[key] = args[0]
  else
    self[method]
  end
end