Hi,

ditz 0.5 wouldn't run on my 1.9.2 installation.

There were two problems..

1) require 'sha1' needed to be require 'digest/sha1'

2) ruby complained about "multiple assignment in conditional" in several cases where you were doing something like "if (found,x = generate..()) && found".

I've attached a patch which I believe fixes these issues.

I hope you'll incorporate a fix (mine or otherwise) and re-release the gem so I can run the blessed version, instead of my local fork. :)

Thanks,
Steve
--- 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
 
_______________________________________________
ditz-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ditz-talk

Reply via email to