Sign In/My Account | View Cart  
advertisement

Article:
 REST on Rails
Subject: The "simple" design pattern for dynamic class extension
Date: 2005-12-19 15:41:02
From: richbodo

I couldn't get the code in the article for this pattern to run, but with some help from friends I modified it a little. This worked for me:


# file ExtraMethods.rb
#
module ExtraMethods
def self.append_features(base)
super
base.extend(ClassMethods)
end
module ClassMethods
def additional_method(message)
my_module_string = "def example() puts \"Message for you!: '#{message}'\" end"
module_eval(my_module_string)
end
end
end


#!/usr/bin/ruby
# file simpledriver.rb
#
require 'ExtraMethods'


class SomeClass
include ExtraMethods
additional_method "your dynamic method insertion worked"
end


test = SomeClass.new
test.example


Previous Message Previous Message   Next Message Next Message


Sponsored By: