Introduction to Metaprogramming
Metaprogramming lets your code write or modify code at runtime. Ruby is powerful in this area.
send
Method:
class Person
def greet
puts "Hello!"
end
end
p = Person.new
p.send(:greet)
Define Methods Dynamically:
class Robot
define_method(:dance) do
puts "Dancing!"
end
end
Robot.new.dance
Used in frameworks like Rails to dynamically define behavior.