<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,9 @@
 == master
 
+== 0.1.1 / 2008-07-06
+
+* Remove dependency on active_support for non-ActiveRecord predicates
+
 == 0.1.0 / 2008-07-03
 
 * Rename to attribute_predicates</diff>
      <filename>CHANGELOG.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ require 'rake/contrib/sshpublisher'
 
 spec = Gem::Specification.new do |s|
   s.name              = 'attribute_predicates'
-  s.version           = '0.1.0'
+  s.version           = '0.1.1'
   s.platform          = Gem::Platform::RUBY
   s.summary           = 'Adds automatic generation of predicate methods for attributes.'
   </diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -29,8 +29,9 @@ module PluginAWeek #:nodoc:
       module Module
         def self.included(base) #:nodoc:
           base.class_eval do
-            [:attr, :attr_reader, :attr_writer, :attr_accessor].each do |method|
-              alias_method_chain method, :predicates
+            %w(attr attr_reader attr_writer attr_accessor).each do |method|
+              alias_method &quot;#{method}_without_predicates&quot;, method
+              alias_method method, &quot;#{method}_with_predicates&quot;
             end
           end
         end
@@ -59,7 +60,15 @@ module PluginAWeek #:nodoc:
           # Returns true if the specified variable is not blank, otherwise false
           def attr_predicate(symbol)
             define_method(&quot;#{symbol}?&quot;) do
-              !instance_variable_get(&quot;@#{symbol}&quot;).blank?
+              value = instance_variable_get(&quot;@#{symbol}&quot;)
+              if value.respond_to?(:blank?)
+                # Use ActiveSupport's implementation
+                !value.blank?
+              elsif value.respond_to?(:empty?)
+                !value.empty?
+              else
+                !!value
+              end
             end
           end
       end</diff>
      <filename>lib/attribute_predicates/extensions/module.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,18 +15,18 @@ class ModuleAttrTest &lt; Test::Unit::TestCase
   
   def test_should_create_predicate_for_readonly_attr
     @module.attr(:foo)
-    ['foo', 'foo?'].each do |method|
+    %w(foo foo?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
     
-    ['foo='].each do |method|
+    %w(foo=).each do |method|
       assert !@module.instance_methods.include?(method), &quot;#{method} exists&quot;
     end
   end
   
   def test_should_create_predicate_for_readwrite_attr
     @module.attr(:foo, true)
-    ['foo', 'foo=', 'foo?'].each do |method|
+    %w(foo foo= foo?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
   end
@@ -39,22 +39,22 @@ class ModuleAttrReaderTest &lt; Test::Unit::TestCase
   
   def test_should_create_predicate
     @module.attr_reader(:foo)
-    ['foo', 'foo?'].each do |method|
+    %w(foo foo?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
     
-    ['foo='].each do |method|
+    %w(foo=).each do |method|
       assert !@module.instance_methods.include?(method), &quot;#{method} exists&quot;
     end
   end
   
   def test_should_create_predicate_for_multiple_attributes
     @module.attr_reader(:foo, :bar)
-    ['foo', 'foo?', 'bar', 'bar?'].each do |method|
+    %w(foo foo? bar bar?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
     
-    ['foo=', 'bar='].each do |method|
+    %w(foo= bar=).each do |method|
       assert !@module.instance_methods.include?(method), &quot;#{method} exists&quot;
     end
   end
@@ -67,14 +67,14 @@ class ModuleAttrAccessorTest &lt; Test::Unit::TestCase
   
   def test_should_create_predicate
     @module.attr_accessor(:foo)
-    ['foo', 'foo=', 'foo?'].each do |method|
+    %w(foo foo= foo?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
   end
   
   def test_should_create_predicate_for_multiple_attributes
     @module.attr_accessor(:foo, :bar)
-    ['foo', 'foo=', 'foo?', 'bar', 'bar=', 'bar?'].each do |method|
+    %w(foo foo= foo? bar bar= bar?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
   end
@@ -87,22 +87,22 @@ class ModuleAttrWriterTest &lt; Test::Unit::TestCase
   
   def test_should_create_predicate
     @module.attr_writer(:foo)
-    ['foo=', 'foo?'].each do |method|
+    %w(foo= foo?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
     
-    ['foo'].each do |method|
+    %w(foo).each do |method|
       assert !@module.instance_methods.include?(method), &quot;#{method} exists&quot;
     end
   end
   
   def test_should_create_predicate_for_multiple_attributes
     @module.attr_writer(:foo, :bar)
-    ['foo=', 'foo?', 'bar=', 'bar?'].each do |method|
+    %w(foo= foo? bar= bar?).each do |method|
       assert @module.instance_methods.include?(method), &quot;#{method} does not exist&quot;
     end
     
-    ['foo', 'bar'].each do |method|
+    %w(foo bar).each do |method|
       assert !@module.instance_methods.include?(method), &quot;#{method} exists&quot;
     end
   end
@@ -131,6 +131,7 @@ class ModuleTest &lt; Test::Unit::TestCase
   def test_should_evaluate_false_values_for_predicate
     @klass.attr_accessor(:foo)
     
+    # *Note* ' ' is only false when ActiveSupport is being used
     [nil, '', ' ', {}, []].each do |value|
       assert_equal false, @klass.new(value).foo?, &quot;#{value.inspect} is true&quot;
     end</diff>
      <filename>test/module_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,6 @@
 # Load the plugin testing framework
 $:.unshift(&quot;#{File.dirname(__FILE__)}/../../plugin_test_helper/lib&quot;)
+
+# Use the test helper for testing ActiveRecord
 require 'rubygems'
 require 'plugin_test_helper'</diff>
      <filename>test/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>03cdb00980a1401f2fae880b623ed3ccf5c09668</id>
    </parent>
  </parents>
  <author>
    <name>Aaron Pfeifer</name>
    <email>aaron.pfeifer@gmail.com</email>
  </author>
  <url>http://github.com/pluginaweek/attribute_predicates/commit/a5245091b05c5cfccce6132accb2456985a1d52d</url>
  <id>a5245091b05c5cfccce6132accb2456985a1d52d</id>
  <committed-date>2008-07-06T20:42:58-07:00</committed-date>
  <authored-date>2008-07-06T20:42:58-07:00</authored-date>
  <message>Remove dependency on active_support for non-ActiveRecord predicates
Tag 0.1.1 release</message>
  <tree>47359fbbc4dd32e948220a2c9ac121786bad0891</tree>
  <committer>
    <name>Aaron Pfeifer</name>
    <email>aaron.pfeifer@gmail.com</email>
  </committer>
</commit>
