<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>features/step_definitions/webrat_steps.rb</filename>
    </added>
    <added>
      <filename>features/support/version_check.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,7 @@
+# IMPORTANT: This file was generated by Cucumber 0.4.2
+# Edit at your own peril - it's recommended to regenerate this file
+# in the future when you upgrade to a newer version of Cucumber.
+
 config.cache_classes = true # This must be true for Cucumber to operate correctly!
 
 # Log error messages when you accidentally call methods on nil.
@@ -15,8 +19,8 @@ config.action_controller.allow_forgery_protection    = false
 # ActionMailer::Base.deliveries array.
 config.action_mailer.delivery_method = :test
 
-config.gem &quot;cucumber&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=0.3.96&quot; unless File.directory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
-config.gem &quot;webrat&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=0.5.1&quot; unless File.directory?(File.join(Rails.root, 'vendor/plugins/webrat'))
-config.gem &quot;rspec&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=1.2.8&quot; unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec'))
-config.gem &quot;rspec-rails&quot;, :lib =&gt; 'spec/rails', :version =&gt; &quot;&gt;=1.2.7.1&quot; unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
-config.gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :source =&gt; 'http://gems.github.com', :version =&gt; '&gt;=0.3.1'
\ No newline at end of file
+config.gem 'cucumber',    :lib =&gt; false,        :version =&gt; '&gt;=0.4.2' unless File.directory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
+config.gem 'webrat',      :lib =&gt; false,        :version =&gt; '&gt;=0.5.3' unless File.directory?(File.join(Rails.root, 'vendor/plugins/webrat'))
+config.gem 'rspec',       :lib =&gt; false,        :version =&gt; '&gt;=1.2.9' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec'))
+config.gem 'rspec-rails', :lib =&gt; false,        :version =&gt; '&gt;=1.2.9' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
+config.gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :source =&gt; 'http://gems.github.com', :version =&gt; '&gt;=0.3.4'</diff>
      <filename>config/environments/cucumber.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,20 +14,23 @@ development:
     password: noreply
     enable_starttls_auto: true
 
-test:
+test: &amp;TEST
   notifier:
     host: www.example.com
     name: User Notifier
     email: noreply@example.com
   default_content_type: text/html
 
+cucumber:
+  &lt;&lt;: *TEST
+
 production:
   notifier:
     host: www.example.com
     name: User Notifier
     email: noreply@example.com
   default_content_type: text/html
-  delivery_method: :smtp # :sendmail
+  delivery_method: :sendmail # :smtp
   smtp_settings:
     address: smtp.example.com
     port: 25</diff>
      <filename>config/notifier.yml</filename>
    </modified>
    <modified>
      <diff>@@ -15,15 +15,15 @@ Feature: Password Reset
     And I press &quot;Reset my password&quot;
     Then I should receive an email
     When I open the email
-    And I should see &quot;reset your password&quot; in the email
+    And I should see &quot;reset your password&quot; in the email body
 
   Scenario: Do not send a reset instructions email if given an invalid email
     Given &quot;sharon&quot; a confirmed user with email &quot;sharon@example.com&quot;
     When I go to the reset password page
     And I fill in &quot;email&quot; with &quot;unknown@example.com&quot;
     And I press &quot;Reset my password&quot;
-    Then &quot;sharon@example.com&quot; should not receive an email
-    And &quot;unknown@example.com&quot; should not receive an email
+    Then &quot;sharon@example.com&quot; should receive no emails
+    And &quot;unknown@example.com&quot; should receive no emails
     And I should see &quot;No user was found with that email address&quot;
 
   Scenario: Display change password form with valid token</diff>
      <filename>features/password_reset.feature</filename>
    </modified>
    <modified>
      <diff>@@ -38,7 +38,7 @@ Feature: Registration
     Given &quot;sharon&quot; an unconfirmed user
     And I should receive an email
     When I open the email
-    Then I should see &quot;activate your account&quot; in the email
+    Then I should see &quot;activate your account&quot; in the email body
 
   Scenario: Want to confirm account using mail activation token
     Given &quot;sharon&quot; a notified but unconfirmed user
@@ -86,7 +86,7 @@ Feature: Registration
     Then I should be logged in
     And I should have 2 emails at all
     When I open the most recent email
-    Then I should see &quot;Activation Complete&quot; in the subject
+    Then I should see &quot;Activation Complete&quot; in the email subject
     When I follow &quot;Logout&quot;
     Then I should be logged out
 </diff>
      <filename>features/registration.feature</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,9 @@
-#Commonly used email steps
+# Commonly used email steps
 #
 # To add your own steps make a custom_email_steps.rb
 # The provided methods are:
 #
+# last_email_address
 # reset_mailer
 # open_last_email
 # visit_in_email
@@ -12,64 +13,112 @@
 # open_email
 # read_emails_for
 # find_email
+#
+# General form for email scenarios are:
+#   - clear the email queue (done automatically by email_spec)
+#   - execute steps that sends an email
+#   - check the user received an/no/[0-9] emails
+#   - open the email
+#   - inspect the email contents
+#   - interact with the email (e.g. click links)
+#
+# The Cucumber steps below are setup in this order.
 
 module EmailHelpers
   def current_email_address
+    # Replace with your a way to find your current email. e.g @current_user.email
+    # last_email_address will return the last email address used by email spec to find an email.
+    # Note that last_email_address will be reset after each Scenario.
+    # last_email_address || &quot;example@example.com&quot;
     user = controller.send(:current_user)
-    user ? user.email : &quot;sharon@example.com&quot;
+    user ? user.email : (last_email_address || &quot;sharon@example.com&quot;)
   end
 end
+
 World(EmailHelpers)
 
-# Use this step to reset the e-mail queue within a scenario.
+#
+# Reset the e-mail queue within a scenario.
 # This is done automatically before each scenario.
+#
+
 Given /^(?:a clear email queue|no emails have been sent)$/ do
   reset_mailer
 end
 
-# Use this step to open the most recently sent e-mail. 
-When /^I open the email$/ do
-  open_email(current_email_address)
+#
+# Check how many emails have been sent/received
+#
+
+Then /^(?:I|they|&quot;([^&quot;]*?)&quot;) should receive (an|no|\d+) emails?$/ do |address, amount|
+  unread_emails_for(address).size.should == parse_email_count(amount)
 end
 
-When %r{^I follow &quot;([^&quot;]*?)&quot; in the email$} do |link|
-  visit_in_email(link)
+Then /^(?:I|they|&quot;([^&quot;]*?)&quot;) should have (an|no|\d+) emails?$/ do |address, amount|
+  mailbox_for(address).size.should == parse_email_count(amount)
 end
 
-Then /^I should receive (an|\d+) emails?$/ do |amount|
-  amount = 1 if amount == &quot;an&quot;
-  unread_emails_for(current_email_address).size.should == amount.to_i
+# DEPRECATED
+# The following methods are left in for backwards compatibility and
+# should be removed by version 0.3.5.
+Then /^(?:I|they|&quot;([^&quot;]*?)&quot;) should not receive an email$/ do |address|
+  email_spec_deprecate &quot;The step 'I/they/[email] should not receive an email' is no longer supported.
+                      Please use 'I/they/[email] should receive no emails' instead.&quot;
+  unread_emails_for(address).size.should == 0
 end
 
-Then %r{^&quot;([^&quot;]*?)&quot; should receive (\d+) emails?$} do |address, n|
-  unread_emails_for(address).size.should == n.to_i 
+#
+# Accessing emails
+#
+
+# Opens the most recently received email
+When /^(?:I|they|&quot;([^&quot;]*?)&quot;) opens? the email$/ do |address|
+  open_email(address)
 end
 
-Then %r{^&quot;([^&quot;]*?)&quot; should have (\d+) emails?$} do |address, n|
-  mailbox_for(address).size.should == n.to_i
+When /^(?:I|they|&quot;([^&quot;]*?)&quot;) opens? the email with subject &quot;([^&quot;]*?)&quot;$/ do |address, subject|
+  open_email(address, :with_subject =&gt; subject)
 end
 
-Then %r{^&quot;([^&quot;]*?)&quot; should not receive an email$} do |address|
-  find_email(address).should == nil
+When /^(?:I|they|&quot;([^&quot;]*?)&quot;) opens? the email with text &quot;([^&quot;]*?)&quot;$/ do |address, text|
+  open_email(address, :with_text =&gt; text)
 end
 
-Then %r{^I should see &quot;([^&quot;]*?)&quot; in the subject$} do |text|
+#
+# Inspect the Email Contents
+#
+
+Then /^(?:I|they) should see &quot;([^&quot;]*?)&quot; in the email subject$/ do |text|
   current_email.should have_subject(Regexp.new(text))
 end
 
-Then %r{^I should see &quot;([^&quot;]*?)&quot; in the email$} do |text|
+Then /^(?:I|they) should see &quot;([^&quot;]*?)&quot; in the email body$/ do |text|
   current_email.body.should =~ Regexp.new(text)
 end
 
-When %r{^&quot;([^&quot;]*?)&quot; opens? the email with subject &quot;([^&quot;]*?)&quot;$} do |address, subject|
-  open_email(address, :with_subject =&gt; subject)
+# DEPRECATED
+# The following methods are left in for backwards compatibility and
+# should be removed by version 0.3.5.
+Then /^(?:I|they) should see &quot;([^&quot;]*?)&quot; in the subject$/ do |text|
+  email_spec_deprecate &quot;The step 'I/they should see [text] in the subject' is no longer supported.
+                      Please use 'I/they should see [text] in the email subject' instead.&quot;
+  current_email.should have_subject(Regexp.new(text))
+end
+Then /^(?:I|they) should see &quot;([^&quot;]*?)&quot; in the email$/ do |text|
+  email_spec_deprecate &quot;The step 'I/they should see [text] in the email' is no longer supported.
+                      Please use 'I/they should see [text] in the email body' instead.&quot;
+  current_email.body.should =~ Regexp.new(text)
 end
 
-When %r{^&quot;([^&quot;]*?)&quot; opens? the email with text &quot;([^&quot;]*?)&quot;$} do |address, text|
-  open_email(address, :with_text =&gt; text)
+#
+# Interact with Email Contents
+#
+
+When /^(?:I|they) follow &quot;([^&quot;]*?)&quot; in the email$/ do |link|
+  visit_in_email(link)
 end
 
-When /^I click the first link in the email$/ do
+When /^(?:I|they) click the first link in the email$/ do
   click_first_link_in_email
 end
 </diff>
      <filename>features/step_definitions/email_steps.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ Given /^&quot;([^\&quot;]*)&quot; a user who opened (?:his|her) reset password email$/ do |name
   And &quot;I press \&quot;Reset my password\&quot;&quot;
   Then &quot;I should receive an email&quot;
   When &quot;I open the email&quot;
-  Then &quot;I should see \&quot;reset your password\&quot; in the email&quot;
+  Then &quot;I should see \&quot;reset your password\&quot; in the email body&quot;
 end
 
 Then /^I (?:should )?see a reset password form$/ do</diff>
      <filename>features/step_definitions/password_reset_steps.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ Given /^&quot;([^\&quot;]*)&quot; a notified but unconfirmed user$/ do |name|
   Given &quot;\&quot;#{name}\&quot; an unconfirmed user&quot;
   And &quot;I should receive an email&quot;
   When &quot;I open the email&quot;
-  Then &quot;I should see \&quot;activate your account\&quot; in the email&quot;
+  Then &quot;I should see \&quot;activate your account\&quot; in the email body&quot;
 end
 
 Given /^&quot;([^\&quot;]*)&quot; a confirmed user with password &quot;([^\&quot;]*)&quot;$/ do |name, password|</diff>
      <filename>features/step_definitions/registration_steps.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,28 +1,50 @@
+# IMPORTANT: This file was generated by Cucumber 0.4.2
+# Edit at your own peril - it's recommended to regenerate this file
+# in the future when you upgrade to a newer version of Cucumber.
+# Consider adding your own code to a new file instead of editing this one.
+
 # Sets up the Rails environment for Cucumber
 ENV[&quot;RAILS_ENV&quot;] ||= &quot;cucumber&quot;
-require File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
+require File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','..','..','config','environment'))
 require 'cucumber/rails/world'
 
-# Comment out the next line if you don't want Cucumber Unicode support
-require 'cucumber/formatter/unicode'
-
-# Comment out the next line if you don't want transactions to
-# open/roll back around each scenario
-Cucumber::Rails.use_transactional_fixtures
+# If you set this to true, each scenario will run in a database transaction.
+# You can still turn off transactions on a per-scenario basis, simply tagging 
+# a feature or scenario with the @no-txn tag. 
+#
+# If you set this to false, transactions will be off for all scenarios,
+# regardless of whether you use @no-txn or not.
+#
+# Beware that turning transactions off will leave data in your database 
+# after each scenario, which can lead to hard-to-debug failures in 
+# subsequent scenarios. If you do this, we recommend you create a Before
+# block that will explicitly put your database in a known state.
+Cucumber::Rails::World.use_transactional_fixtures = true
 
-# Comment out the next line if you want Rails' own error handling
-# (e.g. rescue_action_in_public / rescue_responses / rescue_from)
-Cucumber::Rails.bypass_rescue
+# If you set this to false, any error raised from within your app will bubble 
+# up to your step definition and out to cucumber unless you catch it somewhere
+# on the way. You can make Rails rescue errors and render error pages on a
+# per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
+#
+# If you set this to true, Rails will rescue all errors and render error
+# pages, more or less in the same way your application would behave in the
+# default production environment. It's not recommended to do this for all
+# of your scenarios, as this makes it hard to discover errors in your application.
+ActionController::Base.allow_rescue = false
 
-require 'webrat'
+require 'cucumber'
+# Comment out the next line if you don't want Cucumber Unicode support
+require 'cucumber/formatter/unicode'
 require 'cucumber/webrat/element_locator' # Lets you do table.diff!(element_at('#my_table_or_dl_or_ul_or_ol').to_table)
+require 'cucumber/rails/rspec'
 
+require 'webrat'
+require 'webrat/core/matchers' 
 Webrat.configure do |config|
   config.mode = :rails
+  config.open_error_files = false # Set to true if you want error pages to pop up in the browser
 end
 
-require 'cucumber/rails/rspec'
-require 'webrat/core/matchers'
 require 'email_spec/cucumber'
 
 # http://authlogic.rubyforge.org/classes/Authlogic/TestCase.html</diff>
      <filename>features/support/env.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ module NavigationHelpers
   def path_to(page_name)
     case page_name
 
-    when /the homepage/
+    when /the home\s?page/
       root_path
     when /the login page/
       login_path</diff>
      <filename>features/support/paths.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,21 @@
 # This file is copied to ~/spec when you run 'ruby script/generate rspec'
 # from the project root directory.
 ENV[&quot;RAILS_ENV&quot;] ||= 'test'
-require File.dirname(__FILE__) + &quot;/../config/environment&quot; unless defined?(RAILS_ROOT)
+require File.expand_path(File.join(File.dirname(__FILE__),'..','config','environment'))
 require 'spec/autorun'
 require 'spec/rails'
-require &quot;email_spec/helpers&quot;
-require &quot;email_spec/matchers&quot;
+
+require 'email_spec/helpers'
+require 'email_spec/matchers'
 require 'remarkable_rails'
 
+# Uncomment the next line to use webrat's matchers
+#require 'webrat/integrations/rspec-rails'
+
+# Requires supporting files with custom matchers and macros, etc,
+# in ./support/ and its subdirectories.
+Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
+
 Spec::Runner.configure do |config|
   config.include(EmailSpec::Helpers)
   config.include(EmailSpec::Matchers)
@@ -48,6 +56,6 @@ Spec::Runner.configure do |config|
   # config.mock_with :rr
   #
   # == Notes
-  # 
+  #
   # For more information take a look at Spec::Runner::Configuration and Spec::Runner
 end</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,13 +20,16 @@ namespace :authlogic_bundle do
   begin
     require 'cucumber/rake/task'
 
-    Cucumber::Rake::Task.new(:features, &quot;Run Features of authlogic_bundle with Cucumber&quot;) do |t|
-      t.fork = true
-      t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'pretty')]
-      t.feature_pattern = &quot;#{plugin_path}/features/**/*.feature&quot;
-      t.step_pattern = &quot;#{plugin_path}/features/**/*.rb&quot;
+    # Use vendored cucumber binary if possible. If it's not vendored,
+    # Cucumber::Rake::Task will automatically use installed gem's cucumber binary
+    vendored_cucumber_binary = Dir[&quot;#{RAILS_ROOT}/vendor/{gems,plugins}/cucumber*/bin/cucumber&quot;].first
+
+    Cucumber::Rake::Task.new({:features =&gt; 'db:test:prepare'}, &quot;Run Features of authlogic_bundle with Cucumber&quot;) do |t|
+      t.binary = vendored_cucumber_binary
+      t.fork = true # You may get faster startup if you set this to false
+      t.cucumber_opts = &quot;--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{plugin_path}/features&quot;
+      # t.profile = &quot;authlogic_bundle&quot;
     end
-    task :features =&gt; 'db:test:prepare'
   rescue LoadError
     desc 'Cucumber rake task not available'
     task :features do</diff>
      <filename>tasks/authlogic_bundle.rake</filename>
    </modified>
    <modified>
      <diff>@@ -4,8 +4,8 @@ load_template(&quot;#{SOURCE}/templates/helper.rb&quot;) unless self.respond_to? :file_inj
 ##############################
 # RSpec
 ##############################
-gem 'rspec', :lib =&gt; false, :version =&gt; '&gt;= 1.2.8', :env =&gt; 'test'
-gem 'rspec-rails', :lib =&gt; false, :version =&gt; '&gt;= 1.2.7', :env =&gt; 'test'
+gem 'rspec', :lib =&gt; false, :version =&gt; '&gt;= 1.2.9', :env =&gt; 'test'
+gem 'rspec-rails', :lib =&gt; false, :version =&gt; '&gt;= 1.2.9', :env =&gt; 'test'
 gem 'remarkable', :lib =&gt; false, :version =&gt; '&gt;=3.1.10', :env =&gt; 'test'
 gem 'remarkable_activerecord', :lib =&gt; false, :version =&gt; '&gt;=3.1.10', :env =&gt; 'test'
 gem 'remarkable_rails', :lib =&gt; false, :version =&gt; '&gt;=3.1.10', :env =&gt; 'test'
@@ -16,15 +16,6 @@ gem 'thoughtbot-factory_girl', :lib =&gt; false, :version =&gt; '&gt;=1.2.2',
 
 rake 'gems:install', :sudo =&gt; true, :env =&gt; 'test'
 
-# plugin 'rspec-rails', :submodule =&gt; git?,
-#   :git =&gt; 'git://github.com/dchelimsky/rspec-rails.git'
-# plugin 'rspec', :submodule =&gt; git?,
-#   :git =&gt; 'git://github.com/dchelimsky/rspec.git'
-# plugin 'factory_girl', :submodule =&gt; git?,
-#   :git =&gt; 'git://github.com/thoughtbot/factory_girl.git'
-# plugin 'shoulda', :submodule =&gt; git?,
-#   :git =&gt; 'git://github.com/thoughtbot/shoulda.git'
-
 generate :rspec
 
 file 'spec/spec.opts', &lt;&lt;-CODE
@@ -44,25 +35,24 @@ CODE
 ##############################
 # Cucumber
 ##############################
+gem 'ruby-debug-base', :lib =&gt; false, :version =&gt; '&gt;=0.10.3', :env =&gt; 'test'
+gem 'ruby-debug', :lib =&gt; false, :version =&gt; '&gt;=0.10.3', :env =&gt; 'test'
 gem 'term-ansicolor', :lib =&gt; false, :version =&gt; '&gt;=1.0.4', :env =&gt; 'test'
-gem 'treetop', :lib =&gt; false, :version =&gt; '&gt;=1.4.1', :env =&gt; 'test'
+gem 'treetop', :lib =&gt; false, :version =&gt; '&gt;=1.4.2', :env =&gt; 'test'
 gem 'diff-lcs', :lib =&gt; false, :version =&gt; '&gt;=1.1.2', :env =&gt; 'test'
 gem 'nokogiri', :lib =&gt; false, :version =&gt; '&gt;=1.3.3', :env =&gt; 'test'
 gem 'builder', :lib =&gt; false, :version =&gt; '&gt;=2.1.2', :env =&gt; 'test'
-gem 'cucumber', :lib =&gt; false, :version =&gt; '&gt;=0.3.99', :env =&gt; 'test'
+gem 'cucumber', :lib =&gt; false, :version =&gt; '&gt;=0.4.2', :env =&gt; 'test'
 gem 'webrat', :lib =&gt; false, :version =&gt; '&gt;=0.5.3', :env =&gt; 'test'
-gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :version =&gt; '&gt;=0.3.1',
+gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :version =&gt; '&gt;=0.3.4',
   :source =&gt; 'http://gems.github.com', :env =&gt; 'test'
-gem 'ruby-debug-base', :lib =&gt; false, :version =&gt; '&gt;=0.10.3', :env =&gt; 'test'
-gem 'ruby-debug', :lib =&gt; false, :version =&gt; '&gt;=0.10.3', :env =&gt; 'test'
 
 # we still need 'test' environment to install cucumber related gems
 rake 'gems:install', :sudo =&gt; true, :env =&gt; 'test'
 
 generate :cucumber
 
-# Write gem config to 'cucumber' environment for cucumber &gt;=0.3.8
-gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :version =&gt; '&gt;=0.3.1',
+gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :version =&gt; '&gt;=0.3.4',
   :source =&gt; 'http://gems.github.com', :env =&gt; 'cucumber'
 
 file 'cucumber.yml', &lt;&lt;-CODE
@@ -70,6 +60,7 @@ default: --format pretty --tags ~@proposed,~@wip --strict features
 wip: --tags @wip --wip features
 autotest: --require features --format pretty
 autotest-all: --require features --format progress
+authlogic_bundle: --color --tags ~@wip --strict --format pretty vendor/plugins/authlogic_bundle/features
 CODE
 
 file_append 'features/support/env.rb', &lt;&lt;-CODE</diff>
      <filename>templates/testing.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>features/step_definitions/webrate_steps.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>6de4e4cb81921f984279ba4912e3dcbe7994322e</id>
    </parent>
  </parents>
  <author>
    <name>Tse-Ching Ho</name>
    <email>tsechingho@gmail.com</email>
  </author>
  <url>http://github.com/tsechingho/authlogic_bundle/commit/72e87d3ebdcad68c1e23a2bed1a9039663cbdf3a</url>
  <id>72e87d3ebdcad68c1e23a2bed1a9039663cbdf3a</id>
  <committed-date>2009-10-15T22:16:19-07:00</committed-date>
  <authored-date>2009-10-15T22:16:19-07:00</authored-date>
  <message>update to cucumber 0.4.2</message>
  <tree>ed2327d30565379be18d2d2b09db07977b59042f</tree>
  <committer>
    <name>Tse-Ching Ho</name>
    <email>tsechingho@gmail.com</email>
  </committer>
</commit>
