--- model.rb Tue Feb 22 10:43:51 2011 +++ model.rb-fixed Tue Feb 22 10:41:46 2011 @@ -1,5 +1,5 @@ require 'yaml' -require 'sha1' +require 'digest/sha1' require "lowline"; include Lowline require "util" @@ -195,7 +195,7 @@ @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 + elsif(x = generate_field_value(o, field_opts, generator_args)) x else q = field_opts[:prompt] || name.to_s.capitalize @@ -224,7 +224,7 @@ @fields.each do |name, opts| val = if vals[name] vals[name] - elsif(found, x = generate_field_value(o, opts, generator_args)) && found + elsif(x = generate_field_value(o, opts, generator_args)) x else raise ModelError, "missing required field #{name}" @@ -240,13 +240,13 @@ ## returns [success, value] (because a successful value can be ni) def generate_field_value o, opts, args if opts[:generator].is_a? Proc - [true, opts[:generator].call(*args)] + opts[:generator].call(*args) elsif opts[:generator] - [true, o.send(opts[:generator], *args)] + o.send(opts[:generator], *args) elsif opts[:ask] == false # nil counts as true here - [true, opts[:default] || (opts[:multi] ? [] : nil)] + opts[:default] || (opts[:multi] ? [] : nil) else - [false, nil] + nil end end