# File lib/model.rb, line 192
    def create_interactively opts={}
      o = self.new
      generator_args = opts[:args] || []
      @fields.each do |name, field_opts|
        val = if opts[:with] && opts[:with][name]
          opts[:with][name]
        elsif(found, x = generate_field_value(o, field_opts, generator_args)) && found
          x
        else
          q = field_opts[:prompt] || name.to_s.capitalize
          if field_opts[:multiline]
            ## multiline options currently aren't allowed to have a default
            ## value, so just ask.
            ask_multiline q
          else
            default = if opts[:defaults_from] && opts[:defaults_from].respond_to?(name) && (x = opts[:defaults_from].send(name))
              x
            else
              default = generate_field_default o, field_opts, generator_args
            end
            ask q, :default => default
          end
        end
        o.send "#{name}=", val
      end
      o
    end