<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -28,7 +28,9 @@ module ActiveRecord
           options = {:seo_friendly_id_field =&gt; :seo_friendly_id, :seo_friendly_id_limit =&gt; 50}.merge(options)
           write_inheritable_attribute(:seo_friendly_options, options)
           
-	  if options[:do_before_save]
+          if options[:do_before_create]
+            before_create :create_seo_friendly_id
+          elsif options[:do_before_save]
             before_save :create_seo_friendly_id
           else
             after_save :create_seo_friendly_id
@@ -54,9 +56,7 @@ module ActiveRecord
         end
       end
       
-      
       module InstanceMethods
-        private        
         
         INITITAL_SEO_UNIQUE_DIGITS = 4         # initially allow for 1000 collisions.. 
         
@@ -74,13 +74,13 @@ module ActiveRecord
           return if resource_id_value.blank?
           
           seo_id_value = create_seo_friendly_str(resource_id_value)
+          seo_id_value = self.class.read_inheritable_attribute(:seo_friendly_options)[:use_if_empty] || &quot;&quot; if seo_id_value.blank?
 
           return if (self[seo_id_field] =~ /^#{seo_id_value}$/) || (self[seo_id_field] =~ /^#{seo_id_value}\-\d+$/)
 
           self.class.transaction do
             unique_id = determine_unique_id(seo_id_field, count_seo_id_field, count_seo_id_field_N, seo_id_value)
             seo_field_value = &quot;#{seo_id_value}&quot; + (unique_id != nil ? &quot;-#{unique_id}&quot; : &quot;&quot;)
-            
             seo_friendly_id_limit = self.class.read_inheritable_attribute(:seo_friendly_options)[:seo_friendly_id_limit].to_i
             
             if seo_field_value.size &gt; seo_friendly_id_limit
@@ -143,7 +143,7 @@ module ActiveRecord
           s.gsub!(&quot;&#8221;&quot;, &quot;&quot;)
           s.gsub!(&quot;&#8217;&quot;, &quot;&quot;)
           s.gsub!(/\'/, '')
-          s.gsub!(/\W+/, ' ')
+          s.gsub!(/\W+/, ' ')  
           s.strip!
           s.downcase!
           s.gsub!(/\ +/, '-')</diff>
      <filename>lib/acts_as_seo_friendly.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0b658739068d03c442889734a20a49d7750d6a50</id>
    </parent>
  </parents>
  <author>
    <name>Revolution Health Group</name>
    <email>rails@revolutionhealth.com</email>
  </author>
  <url>http://github.com/revolutionhealth/acts_as_seo_friendly/commit/bf767e2fda92277f271ebb152a56498c96df43fc</url>
  <id>bf767e2fda92277f271ebb152a56498c96df43fc</id>
  <committed-date>2009-05-14T06:13:08-07:00</committed-date>
  <authored-date>2009-05-14T06:13:08-07:00</authored-date>
  <message>added ability to do seo calculation before a save or create</message>
  <tree>c205ede516b802149cfa8989c146cd67b7640626</tree>
  <committer>
    <name>Revolution Health Group</name>
    <email>rails@revolutionhealth.com</email>
  </committer>
</commit>
