On Nov 17, 2007, at 6:59 PM, aslak hellesoy wrote:
> On Nov 18, 2007 12:40 AM, Steven Garcia <[EMAIL PROTECTED]> wrote:
>> Rspec is all about using natural language to define behavior. In this
>> context, I feel that lambda is sorely out of place. I was chatting on
>> #irc and a pal of mine (wycats) proposed an interesting alternative:
>>
>> alias_method :doing, :lambda
>>
>> so instead of something like
>>
>> lambda {post :create, {:title => nil}}.should
>> raise_error(ActiveRecord::RecordInvalid)
>>
>> we get
>>
>> doing {post :create, {:title => nil}}.should
>> raise_error(ActiveRecord::RecordInvalid)
>>
>> Now it reads like a sentence..much cleaner and less abstract to
>> those of
>> us who are not Ruby wizards (yet)
>>
>> Chatting with other folks and they are hyped on the idea.
>>
>> What do you guys think?
>>
>> Any chance we could get something like this into trunk?
>
> Probably not. There was a longer discussion of it here:
> http://rubyforge.org/tracker/index.php?
> func=detail&aid=13837&group_id=797&atid=3152
>
> As you point out, creating an alias is a one-liner.
> The main reason I don't want to add it is that lambda is a common
> idiom, and I don't want to set precedence of aliasing core Ruby idioms
> just because some people don't like the ones in Ruby.
>
Couldn't agree more with the reasoning (as per the last time). One
thing that has been circulating around my mind is an aliasing "it"
with "he", which makes a lot of sense when you write specs from a
User's perspective:
describe "A", User do
he "should receiving an extra 2 dollars when he passes go"
end
Anyway - would it be reasonable for this to go into rspec core? It
seems too specific to *my* needs, and not central enough to specs in
general. Plus, if this were added, should "she" also be added?
Just another thing - I've never understood why so many find lambda to
be an unusual construction - a block *is* a lambda, and it *is* a
Proc (more or less), and those are used everywhere in the language.
Scott
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users