lib/metro/models/model.rb
def _load(options = {})
      # Clean up and symbolize all the keys then merge that with the existing properties
      options.keys.each do |key|
        property_name = key.to_s.underscore.to_sym
        if respond_to? "#{property_name}="
          send("#{property_name}=",options.delete(key))
        else
          options[property_name] = options.delete(key)
        end
      end

      properties.merge! options
    end
def _load(options = {})
      # Clean up and symbolize all the keys then merge that with the existing properties
      options.keys.each do |key|
        property_name = key.to_s.underscore.to_sym
        if respond_to? "#{property_name}="
          send("#{property_name}=",options.delete(key))
        else
          options[property_name] = options.delete(key)
        end
      end

      properties.merge! options
    end
Create an instance of a model.

 @note Overridding initialize method should be avoided, using the {#aftter_initialize)
 method or done with care to ensure that functionality is preserved.


 Loads a hash of content into the model. This process will convert the hash
 of content into setter and getter methods with appropriate ruby style names.

 This is used internally when the model is created for the Scene. It is loaded
 with the contents of the view.