diff -ur /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/bin/ditz ./bin/ditz --- /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/bin/ditz 2011-02-23 01:42:32.000000000 -0800 +++ ./bin/ditz 2011-02-23 01:52:54.000000000 -0800 @@ -1,4 +1,4 @@ -#!/usr/bin/ruby1.8 +#!/usr/bin/env ruby ## requires are split in two for efficiency reasons: ditz should be really ## fast when using it for completion. Only in .: ditz-0.5-ruby192.patch diff -ur /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/lib/lowline.rb ./lib/lowline.rb --- /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/lib/lowline.rb 2011-02-23 01:42:32.000000000 -0800 +++ ./lib/lowline.rb 2011-02-23 01:36:34.000000000 -0800 @@ -61,7 +61,7 @@ cmd = "#{editor} #{f.path.inspect}" mtime = File.mtime f.path - system cmd or raise Error, "cannot execute command: #{cmd.inspect}" + system cmd or raise RuntimeError, "cannot execute command: #{cmd.inspect}" File.mtime(f.path) == mtime ? nil : f.path end diff -ur /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/lib/model-objects.rb ./lib/model-objects.rb --- /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/lib/model-objects.rb 2011-02-23 01:42:32.000000000 -0800 +++ ./lib/model-objects.rb 2011-02-23 01:29:05.000000000 -0800 @@ -36,7 +36,7 @@ class Project < ModelObject class Error < StandardError; end - field :name, :prompt => "Project name", :default_generator => lambda { File.basename(Dir.pwd) } + field :name, :prompt => "Project name", :default_generator => Proc.new { File.basename(Dir.pwd) } field :version, :default => Ditz::VERSION, :ask => false field :components, :multi => true, :generator => :get_components field :releases, :multi => true, :ask => false @@ -143,10 +143,10 @@ field :type, :generator => :get_type field :component, :generator => :get_component field :release, :generator => :get_release - field :reporter, :prompt => "Issue creator", :default_generator => lambda { |config, proj| config.user } + field :reporter, :prompt => "Issue creator", :default_generator => Proc.new { |config, proj| config.user } field :status, :ask => false, :default => :unstarted field :disposition, :ask => false - field :creation_time, :ask => false, :generator => lambda { Time.now } + field :creation_time, :ask => false, :generator => Proc.new { Time.now } field :references, :ask => false, :multi => true field :id, :ask => false, :generator => :make_id changes_are_logged @@ -203,7 +203,7 @@ ## make a unique id def make_id config, project - SHA1.hexdigest [Time.now, rand, creation_time, reporter, title, desc].join("\n") + Digest::SHA1.hexdigest [Time.now, rand, creation_time, reporter, title, desc].join("\n") end def sort_order; [STATUS_SORT_ORDER[status], creation_time] end diff -ur /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/lib/model.rb ./lib/model.rb --- /opt/local/lib/ruby1.9/gems/1.9.1/gems/ditz-0.5/lib/model.rb 2011-02-23 01:42:32.000000000 -0800 +++ ./lib/model.rb 2011-02-23 01:46:14.000000000 -0800 @@ -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)) != :generate_failed 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)) != :generate_failed x else raise ModelError, "missing required field #{name}" @@ -236,17 +236,17 @@ private - ## get the value for a field if it can be automatically determined - ## returns [success, value] (because a successful value can be ni) + ## get the value for a field if it can be automatically determined + ## returns value or :generate_failed (because a successful value can be nil) 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] + :generate_failed end end