Re: function names contain regex?


#1

Is it possible to support something like the following:

def validate_address{#/d/#)
x = {#1}
miscfunction(x)
end

And yes, I totally just made up some bogus syntax - I have no idea if a
variable function name containing a regular expression is possible…
perhaps through some trick of aliasing?

Perhaps what you want is method_missing, which can intercept any
message that doesn’t get caught by another method. For example:

class Dog
def method_missing id
raise NoMethodError unless /say_(\w+)_(\d)_times/ =~ id.id2name
$2.to_i.times do
puts $1
end
end
end

spot = Dog.new
spot.say_woof_3_times
spot.say_arf_2_times

Scott R.
http://scottraymond.net/


#2

Perhaps what you want is method_missing, which can intercept any
message that doesn’t get caught by another method. For example:

That’s really cool, Scott! I’ll add that to my recipe book.

So is that how find_by_name_and_password() functions are built?

Also, still curious if there’s a way for code in a controller function
to
find out it’s function name.

Thanks for that,
Pete


#3

On Mar 18, 2006, at 11:39 PM, Pete F. wrote:

Perhaps what you want is method_missing, which can intercept any
message that doesn’t get caught by another method. For example:

That’s really cool, Scott! I’ll add that to my recipe book.

So is that how find_by_name_and_password() functions are built?

Also, still curious if there’s a way for code in a controller
function to find out it’s function name.

controller.action_name


– Tom M.