class A def self.testName(name, &block) define_method name do block.call end endendA.testName('jack') {p 'hello'}A.new.jack()