# File lib/settingslogic.rb, line 152
  def create_accessor_for(key, val=nil)
    return unless key.to_s =~ /^\w+$/  # could have "some-setting:" which blows up eval
    instance_variable_set("@#{key}", val)
    self.class.class_eval "def \#{key}\nreturn @\#{key} if @\#{key}\nreturn missing_key(\"Missing setting '\#{key}' in \#{@section}\") unless has_key? '\#{key}'\nvalue = fetch('\#{key}')\n@\#{key} = if value.is_a?(Hash)\nself.class.new(value, \"'\#{key}' section in \#{@section}\")\nelsif value.is_a?(Array) && value.all?{|v| v.is_a? Hash}\nvalue.map{|v| self.class.new(v)}\nelse\nvalue\nend\nend\n"
  end