Re: [Rails-core] Attribute query methods and semantics

2012-06-01 Thread Matt Jones

On May 31, 2012, at 8:58 AM, Maksym Melnychok wrote:

 Does anyone else finds attribute query methods semantically confusing?
 
 Hi,
 
 Consider this code:
 
 post = Post.new(:visible = true, :url = http://com;)
 
 if post.visible?
   puts ima visible!
 end
 
 if post.url?
   puts ima url! (wait wat? o_0)
 end
 
 Does this feel right to you? In case with post.url? i read it as Hey post 
 object, are you an url? which is apparently not what the code will do.
 
 So it seems like semantically perfect flag checks go together with totally 
 confusing(for a reader) way of checking whether an attribute is present or 
 not.
 
 I would generate attribute query methods only for boolean attributes.

One use that hasn't been mentioned previously - passing method names to things 
like :if, :unless etc in validations. With the ? version, this can be pretty 
short:

validates_presence_of :some_attribute, :unless = :some_other_attribute?

The no-? version doesn't do the right thing in many cases (since empty strings 
evaluate to true), and using present? instead requires a Proc.

Not certain if this is a sufficient argument for the existence of the ? suffix, 
but worth thinking about.

--Matt Jones

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



[Rails-core] Attribute query methods and semantics

2012-05-31 Thread Maksym Melnychok
Does anyone else finds attribute query methods semantically confusing?

Hi,

Consider this code:

post = Post.new(:visible = true, :url = http://com;)

if post.visible?
  puts ima visible!
end

if post.url?
  puts ima url! (wait wat? o_0)
end

Does this feel right to you? In case with post.url? i read it as Hey post 
object, are you an url? which is apparently not what the code will do.

So it seems like semantically perfect flag checks go together with totally 
confusing(for a reader) way of checking whether an attribute is present or 
not.

I would generate attribute query methods only for boolean attributes.

Regards, Max

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-core/-/YqYSFrZrLWIJ.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread James B. Byrne

On Thu, May 31, 2012 08:58, Maksym Melnychok wrote:
 Does anyone else finds attribute query methods semantically confusing?

 Hi,

 Consider this code:

 post = Post.new(:visible = true, :url = http://com;)

 if post.visible?
   puts ima visible!
 end

 if post.url?
   puts ima url! (wait wat? o_0)
 end

 Does this feel right to you? In case with post.url? i read it as Hey
 post object, are you an url? which is apparently not what the code
 will do.

 So it seems like semantically perfect flag checks go together with
 totally confusing(for a reader) way of checking whether an attribute
 is present or not.

 I would generate attribute query methods only for boolean attributes.

I am not sure that I understand your point, but in Ruby anything that
is neither nil nor false is true.  Thus returning the url string, if
not nil, is the same as saying that it is true but also allows access
to the actual data without having to send another message.

-- 
***  E-Mail is NOT a SECURE channel  ***
James B. Byrnemailto:byrn...@harte-lyne.ca
Harte  Lyne Limited  http://www.harte-lyne.ca
9 Brockley Drive  vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada  L8E 3C3

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Maksym Melnychok
my point is about semantics, not truthiness/falseness of values

post.visible? - is asking post object if it is visible because it has
a flag(boolean attribute) named 'visible'

post.url? - is checking if attribute named 'url' is present or not, and
that is exactly what i find confusing because even though 
syntactically it is identical to flag check, semantically this line looks
like we're asking post object if it is a url which makes no sense.

Regards, Max

On Thursday, May 31, 2012 3:12:21 PM UTC+2, byrnejb wrote:


 On Thu, May 31, 2012 08:58, Maksym Melnychok wrote: 
  Does anyone else finds attribute query methods semantically confusing? 
  
  Hi, 
  
  Consider this code: 
  
  post = Post.new(:visible = true, :url = http://com;) 
  
  if post.visible? 
puts ima visible! 
  end 
  
  if post.url? 
puts ima url! (wait wat? o_0) 
  end 
  
  Does this feel right to you? In case with post.url? i read it as Hey 
  post object, are you an url? which is apparently not what the code 
  will do. 
  
  So it seems like semantically perfect flag checks go together with 
  totally confusing(for a reader) way of checking whether an attribute 
  is present or not. 
  
  I would generate attribute query methods only for boolean attributes. 

 I am not sure that I understand your point, but in Ruby anything that 
 is neither nil nor false is true.  Thus returning the url string, if 
 not nil, is the same as saying that it is true but also allows access 
 to the actual data without having to send another message. 

 -- 
 ***  E-Mail is NOT a SECURE channel  *** 
 James B. Byrnemailto:byrn...@harte-lyne.ca 
 Harte  Lyne Limited  http://www.harte-lyne.ca 
 9 Brockley Drive  vox: +1 905 561 1241 
 Hamilton, Ontario fax: +1 905 561 0757 
 Canada  L8E 3C3 



-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-core/-/0YtbyF6g470J.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Sam Oliver
On Thu, May 31, 2012 at 2:12 PM, James B. Byrne byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

 I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


I think Max's point is that post.visible? could be read as post is
visible? but post is url? carries a different meaning.

Sam

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Jeremy Walker
On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

 On Thu, May 31, 2012 at 2:12 PM, James B. Byrne byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

 I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


 I think Max's point is that post.visible? could be read as post is
 visible? but post is url? carries a different meaning.


Maybe have query methods for boolean attributes and prefixed query methods
for not. e.g.
post.visible?
post.has_url?

Or maybe leave the currently methods as they are, but add new prefixed
methods, with different prefixes for boolean methods, e.g.
post.is_visible?
post.has_url?



 Sam

 --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/rubyonrails-core?hl=en.


-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Richard Schneeman
I'm -1 on a has_* method

If we want to kill ? on non boolean attributes we should encourage standard 
@post.url.blank? and @post.url.present? be used instead. The originally 
proposed change makes sense to me. The question mark character adds nice 
semantics to boolean attributes. I agree it's not clear what exactly that would 
do on non-boolean attributes. Removing the questionable methods would help 
decrease the method count. 

Does anyone really need to use: @post.id? 

-- 
Richard Schneeman
@schneems (http://twitter.com/schneems)





On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:

 
 
 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com 
 (mailto:s...@samoliver.com) wrote:
  On Thu, May 31, 2012 at 2:12 PM, James B. Byrne byrn...@harte-lyne.ca 
  (mailto:byrn...@harte-lyne.ca) wrote:
   
I would generate attribute query methods only for boolean attributes.
   
   I am not sure that I understand your point, but in Ruby anything that
   is neither nil nor false is true.  Thus returning the url string, if
   not nil, is the same as saying that it is true but also allows access
   to the actual data without having to send another message.
  
  I think Max's point is that post.visible? could be read as post is 
  visible? but post is url? carries a different meaning. 
 
 Maybe have query methods for boolean attributes and prefixed query methods 
 for not. e.g.
 post.visible?
 post.has_url?
 
 Or maybe leave the currently methods as they are, but add new prefixed 
 methods, with different prefixes for boolean methods, e.g.
 post.is_visible?
 post.has_url?
  
  
  Sam
  
  -- 
  You received this message because you are subscribed to the Google Groups 
  Ruby on Rails: Core group.
  To post to this group, send email to rubyonrails-core@googlegroups.com 
  (mailto:rubyonrails-core@googlegroups.com).
  To unsubscribe from this group, send email to 
  rubyonrails-core+unsubscr...@googlegroups.com 
  (mailto:rubyonrails-core%2bunsubscr...@googlegroups.com).
  For more options, visit this group at 
  http://groups.google.com/group/rubyonrails-core?hl=en.
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com 
 (mailto:rubyonrails-core@googlegroups.com).
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscr...@googlegroups.com 
 (mailto:rubyonrails-core+unsubscr...@googlegroups.com).
 For more options, visit this group at 
 http://groups.google.com/group/rubyonrails-core?hl=en.

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Jarrett Meyer
+1 to Richard. Keep ? for booleans, get rid of the others and use .blank?
and .present? as needed.
--
Jarrett Meyer
Email: jarrettme...@gmail.com
Web: JarrettMeyer.com http://jarrettmeyer.com
Twitter: @jarrettmeyer http://twitter.com/jarrettmeyer



On Thu, May 31, 2012 at 9:45 AM, Richard Schneeman 
richard.schnee...@gmail.com wrote:

 I'm -1 on a has_* method

 If we want to kill ? on non boolean attributes we should encourage
 standard @post.url.blank? and @post.url.present? be used instead. The
 originally proposed change makes sense to me. The question mark character
 adds nice semantics to boolean attributes. I agree it's not clear what
 exactly that would do on non-boolean attributes. Removing the questionable
 methods would help decrease the method count.

 Does anyone really need to use: @post.id?

 --
 Richard Schneeman
 @schneems http://twitter.com/schneems

 On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:



 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

 On Thu, May 31, 2012 at 2:12 PM, James B. Byrne byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

 I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


 I think Max's point is that post.visible? could be read as post is
 visible? but post is url? carries a different meaning.


 Maybe have query methods for boolean attributes and prefixed query methods
 for not. e.g.
 post.visible?
 post.has_url?

 Or maybe leave the currently methods as they are, but add new prefixed
 methods, with different prefixes for boolean methods, e.g.
 post.is_visible?
 post.has_url?



 Sam

 --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/rubyonrails-core?hl=en.


  --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/rubyonrails-core?hl=en.


  --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/rubyonrails-core?hl=en.


-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Maksym Melnychok
absolutely agree with all points. i just didn't know if methods count
argument is relevant at all. imo it's a nice side-effect of proposed
change.

On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote:

 I'm -1 on a has_* method

 If we want to kill ? on non boolean attributes we should encourage 
 standard @post.url.blank? and @post.url.present? be used instead. The 
 originally proposed change makes sense to me. The question mark character 
 adds nice semantics to boolean attributes. I agree it's not clear what 
 exactly that would do on non-boolean attributes. Removing the questionable 
 methods would help decrease the method count. 

 Does anyone really need to use: @post.id?

 -- 
 Richard Schneeman
 @schneems http://twitter.com/schneems

 On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:



 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

 On Thu, May 31, 2012 at 2:12 PM, James B. Byrne byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

 I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


 I think Max's point is that post.visible? could be read as post is 
 visible? but post is url? carries a different meaning.


 Maybe have query methods for boolean attributes and prefixed query methods 
 for not. e.g.
 post.visible?
 post.has_url?

 Or maybe leave the currently methods as they are, but add new prefixed 
 methods, with different prefixes for boolean methods, e.g.
 post.is_visible?
 post.has_url?
  


 Sam

 -- 
 You received this message because you are subscribed to the Google Groups 
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/rubyonrails-core?hl=en.


  -- 
 You received this message because you are subscribed to the Google Groups 
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/rubyonrails-core?hl=en.
  
  
  
On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote:

 I'm -1 on a has_* method

 If we want to kill ? on non boolean attributes we should encourage 
 standard @post.url.blank? and @post.url.present? be used instead. The 
 originally proposed change makes sense to me. The question mark character 
 adds nice semantics to boolean attributes. I agree it's not clear what 
 exactly that would do on non-boolean attributes. Removing the questionable 
 methods would help decrease the method count. 

 Does anyone really need to use: @post.id?

 -- 
 Richard Schneeman
 @schneems http://twitter.com/schneems

 On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:



 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

 On Thu, May 31, 2012 at 2:12 PM, James B. Byrne byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

 I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


 I think Max's point is that post.visible? could be read as post is 
 visible? but post is url? carries a different meaning.


 Maybe have query methods for boolean attributes and prefixed query methods 
 for not. e.g.
 post.visible?
 post.has_url?

 Or maybe leave the currently methods as they are, but add new prefixed 
 methods, with different prefixes for boolean methods, e.g.
 post.is_visible?
 post.has_url?
  


 Sam

 -- 
 You received this message because you are subscribed to the Google Groups 
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/rubyonrails-core?hl=en.


  -- 
 You received this message because you are subscribed to the Google Groups 
 Ruby on Rails: Core group.
 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/rubyonrails-core?hl=en.
  
  
  

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To view this discussion on 

Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rodrigo Rosenfeld Rosas

I'd guess methods count is relevant based on this pull request:

https://github.com/rails/rails/pull/5763

Em 31-05-2012 10:49, Maksym Melnychok escreveu:

absolutely agree with all points. i just didn't know if methods count
argument is relevant at all. imo it's a nice side-effect of proposed
change.

On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote:

I'm -1 on a has_* method

If we want to kill ? on non boolean attributes we should encourage
standard @post.url.blank? and @post.url.present? be used instead.
The originally proposed change makes sense to me. The question
mark character adds nice semantics to boolean attributes. I agree
it's not clear what exactly that would do on non-boolean
attributes. Removing the questionable methods would help decrease
the method count.

Does anyone really need to use: @post.id http://post.id?

-- 
Richard Schneeman

@schneems http://twitter.com/schneems

On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:




On 31 May 2012 14:23, Sam Oliver s...@samoliver.com
mailto:s...@samoliver.com wrote:

On Thu, May 31, 2012 at 2:12 PM, James B. Byrne
byrn...@harte-lyne.ca mailto:byrn...@harte-lyne.ca wrote:


 I would generate attribute query methods only for boolean
attributes.

I am not sure that I understand your point, but in Ruby
anything that
is neither nil nor false is true.  Thus returning the url
string, if
not nil, is the same as saying that it is true but also allows
access
to the actual data without having to send another message.


I think Max's point is that post.visible? could be read as
post is visible? but post is url? carries a different meaning.


Maybe have query methods for boolean attributes
and prefixed query methods for not. e.g.
post.visible?
post.has_url?

Or maybe leave the currently methods as they are, but add new
prefixed methods, with different prefixes for boolean methods, e.g.
post.is_visible?
post.has_url?


Sam
-- 
You received this message because you are subscribed to the

Google Groups Ruby on Rails: Core group.
To post to this group, send email to
rubyonrails-core@googlegroups.com
mailto:rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to
rubyonrails-core+unsubscr...@googlegroups.com
mailto:rubyonrails-core%2bunsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en
http://groups.google.com/group/rubyonrails-core?hl=en.


-- 
You received this message because you are subscribed to the

Google Groups Ruby on Rails: Core group.
To post to this group, send email to
rubyonrails-core@googlegroups.com
mailto:rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to
rubyonrails-core+unsubscr...@googlegroups.com
mailto:rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en
http://groups.google.com/group/rubyonrails-core?hl=en.



On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote:

I'm -1 on a has_* method

If we want to kill ? on non boolean attributes we should encourage
standard @post.url.blank? and @post.url.present? be used instead.
The originally proposed change makes sense to me. The question
mark character adds nice semantics to boolean attributes. I agree
it's not clear what exactly that would do on non-boolean
attributes. Removing the questionable methods would help decrease
the method count.

Does anyone really need to use: @post.id http://post.id?

-- 
Richard Schneeman

@schneems http://twitter.com/schneems

On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:




On 31 May 2012 14:23, Sam Oliver s...@samoliver.com
mailto:s...@samoliver.com wrote:

On Thu, May 31, 2012 at 2:12 PM, James B. Byrne
byrn...@harte-lyne.ca mailto:byrn...@harte-lyne.ca wrote:


 I would generate attribute query methods only for boolean
attributes.

I am not sure that I understand your point, but in Ruby
anything that
is neither nil nor false is true.  Thus returning the url
string, if
not nil, is the same as saying that it is true but also allows
access
to the actual data without having to send another message.


I think Max's point is that post.visible? could be read as
post is visible? but post is url? carries a different meaning.


Maybe have query methods for boolean attributes
and prefixed query methods for not. e.g.
post.visible?
post.has_url?

Or maybe leave the currently methods as they are, but add new
prefixed methods, with different prefixes for boolean methods, e.g.
post.is_visible?
post.has_url?



--
You received this 

Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Steve Klabnik
Not using is_ is idiomatic:
http://devblog.avdi.org/2011/04/07/rspec-is-for-the-literate/ (look
for 'There is a different, but related, effect of using RSpec.')

Every Ruby object is truthy or falsey, and so treating them all as
possibly boolean is 100% okay as far as I'm concerned.

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rafael Mendonça França
Actually the query attribute method does more than check if the value is
present. It is very useful for legacy databases where the user persist
boolean values as [0, 1], [t, f], [true, false] and more.

I don't see this being removed from rails or changing your behavior.

Also removing it will not decrease the methods count because we still need
to generate it for booleans.

Rafael Mendonça França
http://twitter.com/rafaelfranca
https://github.com/rafaelfranca



On Thu, May 31, 2012 at 11:17 AM, Rodrigo Rosenfeld Rosas 
rr.ro...@gmail.com wrote:

  I'd guess methods count is relevant based on this pull request:

 https://github.com/rails/rails/pull/5763

 Em 31-05-2012 10:49, Maksym Melnychok escreveu:

 absolutely agree with all points. i just didn't know if methods count
 argument is relevant at all. imo it's a nice side-effect of proposed
 change.

 On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote:

 I'm -1 on a has_* method

  If we want to kill ? on non boolean attributes we should encourage
 standard @post.url.blank? and @post.url.present? be used instead. The
 originally proposed change makes sense to me. The question mark character
 adds nice semantics to boolean attributes. I agree it's not clear what
 exactly that would do on non-boolean attributes. Removing the questionable
 methods would help decrease the method count.

  Does anyone really need to use: @post.id?

   --
 Richard Schneeman
 @schneems http://twitter.com/schneems

 On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:



 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

  On Thu, May 31, 2012 at 2:12 PM, James B. Byrne 
 byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

  I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


  I think Max's point is that post.visible? could be read as post is
 visible? but post is url? carries a different meaning.


  Maybe have query methods for boolean attributes and prefixed query
 methods for not. e.g.
 post.visible?
 post.has_url?

 Or maybe leave the currently methods as they are, but add new prefixed
 methods, with different prefixes for boolean methods, e.g.
 post.is_visible?
 post.has_url?



  Sam
   --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to 
 rubyonrails-core@googlegroups.**comrubyonrails-core@googlegroups.com
 .
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscribe@**googlegroups.comrubyonrails-core%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at http://groups.google.com/**
 group/rubyonrails-core?hl=enhttp://groups.google.com/group/rubyonrails-core?hl=en
 .


 --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to 
 rubyonrails-core@googlegroups.**comrubyonrails-core@googlegroups.com
 .
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscribe@**googlegroups.comrubyonrails-core+unsubscr...@googlegroups.com
 .
 For more options, visit this group at http://groups.google.com/**
 group/rubyonrails-core?hl=enhttp://groups.google.com/group/rubyonrails-core?hl=en
 .



 On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote:

 I'm -1 on a has_* method

  If we want to kill ? on non boolean attributes we should encourage
 standard @post.url.blank? and @post.url.present? be used instead. The
 originally proposed change makes sense to me. The question mark character
 adds nice semantics to boolean attributes. I agree it's not clear what
 exactly that would do on non-boolean attributes. Removing the questionable
 methods would help decrease the method count.

  Does anyone really need to use: @post.id?

   --
 Richard Schneeman
 @schneems http://twitter.com/schneems

 On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:



 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

  On Thu, May 31, 2012 at 2:12 PM, James B. Byrne 
 byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean attributes.

  I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.


  I think Max's point is that post.visible? could be read as post is
 visible? but post is url? carries a different meaning.


  Maybe have query methods for boolean attributes and prefixed query
 methods for not. e.g.
 post.visible?
 post.has_url?

 Or maybe leave the currently methods as they are, but add new prefixed
 

Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rodrigo Rosenfeld Rosas

Em 31-05-2012 11:30, Rafael Mendonça França escreveu:
Actually the query attribute method does more than check if the value 
is present. It is very useful for legacy databases where the user 
persist boolean values as [0, 1], [t, f], [true, false] and more.


I don't see this being removed from rails or changing your behavior.


I agree with you on that

Also removing it will not decrease the methods count because we still 
need to generate it for booleans.


It would decrease because they would *only* be generated for boolean fields.

--
You received this message because you are subscribed to the Google Groups Ruby on 
Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Maksym Melnychok
@ Rafael Mendonça França

legacy databases storage must be concern of corresponding database 
adapter, if a field is of boolean type, whatever that means on storage 
level of particular database, that field must be treated as boolean in rails
on the model level.

i'm not suggesting to drop such functionality for boolean attributes, only
for non-booleans where #{attribute}? literally makes no sense when you
read it.

methods count would be decreased because rails would generate query
method only for boolean attributes.

@ Steve Klabnik

syntactically you are correct

but if we decide that there doesn't have to be semantical contribution to 
your code from using attribute query methods then #{attribute}? is just 
a shortcut for !!#{attribute} - so why do we need it in the first place? 
saving 1 character is weird goal here.

if on the other hand we want query methods to provide semantics then
there is obvious conflict with non-boolean fields as semantics there are
different.

On Thursday, May 31, 2012 4:30:20 PM UTC+2, Rafael Mendonça França wrote:

 Actually the query attribute method does more than check if the value is 
 present. It is very useful for legacy databases where the user persist 
 boolean values as [0, 1], [t, f], [true, false] and more.

 I don't see this being removed from rails or changing your behavior.

 Also removing it will not decrease the methods count because we still need 
 to generate it for booleans.

 Rafael Mendonça França
 http://twitter.com/rafaelfranca
 https://github.com/rafaelfranca



 On Thu, May 31, 2012 at 11:17 AM, Rodrigo Rosenfeld Rosas 
 rr.ro...@gmail.com wrote:

  I'd guess methods count is relevant based on this pull request:

 https://github.com/rails/rails/pull/5763

 Em 31-05-2012 10:49, Maksym Melnychok escreveu: 

 absolutely agree with all points. i just didn't know if methods count 
 argument is relevant at all. imo it's a nice side-effect of proposed
 change.

 On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote: 

 I'm -1 on a has_* method

  If we want to kill ? on non boolean attributes we should encourage 
 standard @post.url.blank? and @post.url.present? be used instead. The 
 originally proposed change makes sense to me. The question mark character 
 adds nice semantics to boolean attributes. I agree it's not clear what 
 exactly that would do on non-boolean attributes. Removing the questionable 
 methods would help decrease the method count. 

  Does anyone really need to use: @post.id?
  
   -- 
 Richard Schneeman
 @schneems http://twitter.com/schneems
   
 On Thursday, May 31, 2012 at 3:28 PM, Jeremy Walker wrote:

  

 On 31 May 2012 14:23, Sam Oliver s...@samoliver.com wrote:

  On Thu, May 31, 2012 at 2:12 PM, James B. Byrne 
 byrn...@harte-lyne.cawrote:
   
  
  I would generate attribute query methods only for boolean attributes.

  I am not sure that I understand your point, but in Ruby anything that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows access
 to the actual data without having to send another message.
  

  I think Max's point is that post.visible? could be read as post is 
 visible? but post is url? carries a different meaning.
  

  Maybe have query methods for boolean attributes and prefixed query 
 methods for not. e.g.
 post.visible?
 post.has_url?

 Or maybe leave the currently methods as they are, but add new prefixed 
 methods, with different prefixes for boolean methods, e.g.
 post.is_visible?
 post.has_url?
  

  
  Sam
   -- 
 You received this message because you are subscribed to the Google 
 Groups Ruby on Rails: Core group.
 To post to this group, send email to 
 rubyonrails-core@googlegroups.**comrubyonrails-core@googlegroups.com
 .
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscribe@**googlegroups.comrubyonrails-core%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at http://groups.google.com/**
 group/rubyonrails-core?hl=enhttp://groups.google.com/group/rubyonrails-core?hl=en
 .
   
  
 -- 
 You received this message because you are subscribed to the Google 
 Groups Ruby on Rails: Core group.
 To post to this group, send email to 
 rubyonrails-core@googlegroups.**comrubyonrails-core@googlegroups.com
 .
 To unsubscribe from this group, send email to 
 rubyonrails-core+unsubscribe@**googlegroups.comrubyonrails-core+unsubscr...@googlegroups.com
 .
 For more options, visit this group at http://groups.google.com/**
 group/rubyonrails-core?hl=enhttp://groups.google.com/group/rubyonrails-core?hl=en
 .
   
  
   
 On Thursday, May 31, 2012 3:45:23 PM UTC+2, richard schneeman wrote: 

 I'm -1 on a has_* method

  If we want to kill ? on non boolean attributes we should encourage 
 standard @post.url.blank? and @post.url.present? be used instead. The 
 originally proposed change makes sense to me. The question mark character 
 adds nice semantics to boolean attributes. I 

Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Steve Klabnik
 but if we decide that there doesn't have to be semantical contribution to
 your code from using attribute query methods then #{attribute}? is just
 a shortcut for !!#{attribute} - so why do we need it in the first place?
 saving 1 character is weird goal here.

It's not saving a character. It's that !! is programmer talk, and ? is
human talk. Ruby prefers human talk.

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rodrigo Rosenfeld Rosas

Em 31-05-2012 11:48, Maksym Melnychok escreveu:

@ Rafael Mendonça França

legacy databases storage must be concern of corresponding database
adapter, if a field is of boolean type, whatever that means on storage
level of particular database, that field must be treated as boolean in 
rails

on the model level.

i'm not suggesting to drop such functionality for boolean attributes, only
for non-booleans where #{attribute}? literally makes no sense when you
read it.

methods count would be decreased because rails would generate query
method only for boolean attributes.



I guess Rafael meant another thing. You have boolean fields in 
PostgreSQL but someone might prefer to use some old ANSI types, like 
INTEGER for storing such booleans for some reason.


--
You received this message because you are subscribed to the Google Groups Ruby on 
Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rodrigo Rosenfeld Rosas

Em 31-05-2012 11:52, Rodrigo Rosenfeld Rosas escreveu:

Em 31-05-2012 11:48, Maksym Melnychok escreveu:

@ Rafael Mendonça França

legacy databases storage must be concern of corresponding database
adapter, if a field is of boolean type, whatever that means on storage
level of particular database, that field must be treated as boolean 
in rails

on the model level.

i'm not suggesting to drop such functionality for boolean attributes, 
only

for non-booleans where #{attribute}? literally makes no sense when you
read it.

methods count would be decreased because rails would generate query
method only for boolean attributes.



I guess Rafael meant another thing. You have boolean fields in 
PostgreSQL but someone might prefer to use some old ANSI types, like 
INTEGER for storing such booleans for some reason.


Actually PG do support the ANSI boolean type. But some will prefer some 
other ANSI type because other databases don't support the boolean type:


http://en.wikipedia.org/wiki/SQL:1999http://en.wikipedia.org/wiki/SQL:1999#Boolean_data_types 


--
You received this message because you are subscribed to the Google Groups Ruby on 
Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rafael Mendonça França
And in these cases you don't know if these fields are boolean or not. If
you are choose to store the visible column as string [yes, no] so you
will not have the query method.

I like this method as it is. For me it is very useful and give me the
possibility to not care about what is the datatype of the field.

Rafael Mendonça França
http://twitter.com/rafaelfranca
https://github.com/rafaelfranca



On Thu, May 31, 2012 at 11:52 AM, Rodrigo Rosenfeld Rosas 
rr.ro...@gmail.com wrote:

 Em 31-05-2012 11:48, Maksym Melnychok escreveu:

  @ Rafael Mendonça França

 legacy databases storage must be concern of corresponding database
 adapter, if a field is of boolean type, whatever that means on storage
 level of particular database, that field must be treated as boolean in
 rails
 on the model level.

 i'm not suggesting to drop such functionality for boolean attributes, only
 for non-booleans where #{attribute}? literally makes no sense when you
 read it.

 methods count would be decreased because rails would generate query
 method only for boolean attributes.


 I guess Rafael meant another thing. You have boolean fields in PostgreSQL
 but someone might prefer to use some old ANSI types, like INTEGER for
 storing such booleans for some reason.


 --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To post to this group, send email to 
 rubyonrails-core@googlegroups.**comrubyonrails-core@googlegroups.com
 .
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscribe@**googlegroups.comrubyonrails-core%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at http://groups.google.com/**
 group/rubyonrails-core?hl=enhttp://groups.google.com/group/rubyonrails-core?hl=en
 .



-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Rodrigo Rosenfeld Rosas

Another way would add another annotation method to ActiveRecord::Base, like:

boolean_field :incomplete, :disabled, :deleted

This would further document the model mapping and would also allow 
better semantics.


Not that I really care about this as I don't even use ActiveRecord ;)

Cheers,
Rodrigo.

Em 31-05-2012 11:56, Rafael Mendonça França escreveu:
And in these cases you don't know if these fields are boolean or not. 
If you are choose to store the visible column as string [yes, no] 
so you will not have the query method.


I like this method as it is. For me it is very useful and give me the 
possibility to not care about what is the datatype of the field.


Rafael Mendonça França
http://twitter.com/rafaelfranca
https://github.com/rafaelfranca



On Thu, May 31, 2012 at 11:52 AM, Rodrigo Rosenfeld Rosas 
rr.ro...@gmail.com mailto:rr.ro...@gmail.com wrote:


Em 31-05-2012 11:48, Maksym Melnychok escreveu:

@ Rafael Mendonça França

legacy databases storage must be concern of corresponding database
adapter, if a field is of boolean type, whatever that means on
storage
level of particular database, that field must be treated as
boolean in rails
on the model level.

i'm not suggesting to drop such functionality for boolean
attributes, only
for non-booleans where #{attribute}? literally makes no sense
when you
read it.

methods count would be decreased because rails would generate
query
method only for boolean attributes.


I guess Rafael meant another thing. You have boolean fields in
PostgreSQL but someone might prefer to use some old ANSI types,
like INTEGER for storing such booleans for some reason.



--
You received this message because you are subscribed to the Google Groups Ruby on 
Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Maksym Melnychok
On Thursday, May 31, 2012 4:50:05 PM UTC+2, Steve Klabnik wrote:

 It's not saving a character. It's that !! is programmer talk, and ? is 
 human talk. Ruby prefers human talk. 


well your kung-fu beats my kung-fu here

i just don't think post.url? is talking proper human talk to me, i would 
expect answer to that question to be no, post is not a url instead i
will get yes, url attribute is not empty.

 I guess Rafael meant another thing. You have boolean fields in 
 PostgreSQL but someone might prefer to use some old ANSI types, like 
 INTEGER for storing such booleans for some reason. 

i think that first of all this is rather an edge-case that shouldn't force
us to go against least surprise principle

second - this directly goes against Steve's assumption that 

post = Post.new
post.id = 0
assert post.id?

should not fail (it fails because 0 is apparently false.. since when?)

i personally think this smells a lot like PHP and it's non-logical,
generally ugly and wrong truthiness/falseness checks

On Thursday, May 31, 2012 4:50:05 PM UTC+2, Steve Klabnik wrote:

  but if we decide that there doesn't have to be semantical contribution 
 to 
  your code from using attribute query methods then #{attribute}? is just 
  a shortcut for !!#{attribute} - so why do we need it in the first place? 
  saving 1 character is weird goal here. 

 It's not saving a character. It's that !! is programmer talk, and ? is 
 human talk. Ruby prefers human talk. 


-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-core/-/KND68A_wF8sJ.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread Allen Madsen
Maybe it is just me, but I don't use features that I don't like in rails,
just like I avoid calling private methods. In that sense, there's nothing
that is preventing anyone from using `post.body.present?` instead of
`post.body?`. My argument would be to let rational programmers decide what
is best for their specific case. If you're on a team, set a style guide
that picks a winner.

Allen Madsen
http://www.allenmadsen.com


On Thu, May 31, 2012 at 11:05 AM, Maksym Melnychok keym...@gmail.comwrote:

 On Thursday, May 31, 2012 4:50:05 PM UTC+2, Steve Klabnik wrote:

 It's not saving a character. It's that !! is programmer talk, and ? is
 human talk. Ruby prefers human talk.


 well your kung-fu beats my kung-fu here

 i just don't think post.url? is talking proper human talk to me, i would
 expect answer to that question to be no, post is not a url instead i
 will get yes, url attribute is not empty.

  I guess Rafael meant another thing. You have boolean fields in
  PostgreSQL but someone might prefer to use some old ANSI types, like
  INTEGER for storing such booleans for some reason.

 i think that first of all this is rather an edge-case that shouldn't force
 us to go against least surprise principle

 second - this directly goes against Steve's assumption that

 post = Post.new
 post.id = 0
 assert post.id?

 should not fail (it fails because 0 is apparently false.. since when?)

 i personally think this smells a lot like PHP and it's non-logical,
 generally ugly and wrong truthiness/falseness checks

 On Thursday, May 31, 2012 4:50:05 PM UTC+2, Steve Klabnik wrote:

  but if we decide that there doesn't have to be semantical contribution
 to
  your code from using attribute query methods then #{attribute}? is just
  a shortcut for !!#{attribute} - so why do we need it in the first
 place?
  saving 1 character is weird goal here.

 It's not saving a character. It's that !! is programmer talk, and ? is
 human talk. Ruby prefers human talk.

  --
 You received this message because you are subscribed to the Google Groups
 Ruby on Rails: Core group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/rubyonrails-core/-/KND68A_wF8sJ.

 To post to this group, send email to rubyonrails-core@googlegroups.com.
 To unsubscribe from this group, send email to
 rubyonrails-core+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/rubyonrails-core?hl=en.


-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.



Re: [Rails-core] Attribute query methods and semantics

2012-05-31 Thread James B. Byrne

On Thu, May 31, 2012 09:23, Sam Oliver wrote:
 On Thu, May 31, 2012 at 2:12 PM, James B. Byrne
 byrn...@harte-lyne.cawrote:


  I would generate attribute query methods only for boolean
 attributes.

 I am not sure that I understand your point, but in Ruby anything
 that
 is neither nil nor false is true.  Thus returning the url string, if
 not nil, is the same as saying that it is true but also allows
 access
 to the actual data without having to send another message.


 I think Max's point is that post.visible? could be read as post is
 visible? but post is url? carries a different meaning.


This really comes down to ones own understanding of English.  Since
visible is a quality of some object one may reasonably infer that
#visible? is synonymous with #is_visible?  This might not actually be
the case of course but the inference is strong.

In the case of #url? an url is not a quality, it is an object in own
right even if its representation is wholly contained within the state
of a container object (i.e. an attribute with a string value). I agree
with the OP that in this case #url? is not good form and that #url is
a superior since it imparts the idea that one should receive a
representation and not simply a boolean.

However, #has_url? or #has_anything? to me would be pointless in Ruby.
 If an object has one then just tell it to provide it and if nil is
returned then it does not.



-- 
***  E-Mail is NOT a SECURE channel  ***
James B. Byrnemailto:byrn...@harte-lyne.ca
Harte  Lyne Limited  http://www.harte-lyne.ca
9 Brockley Drive  vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada  L8E 3C3

-- 
You received this message because you are subscribed to the Google Groups Ruby 
on Rails: Core group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.