class AbstractInterface::Interface
Public Class Methods
new(constant, interface)
click to toggle source
# File lib/ruby_us/abstract_interface.rb, line 4 def initialize constant, interface @constant = constant @interface = interface end
Public Instance Methods
define_method(method_name, &block)
click to toggle source
# File lib/ruby_us/abstract_interface.rb, line 9 def define_method method_name, &block @constant.module_eval do define_method method_name, &block end if block_given? end
define_singleton_method(method_name, &block)
click to toggle source
# File lib/ruby_us/abstract_interface.rb, line 15 def define_singleton_method method_name, &block if block_given? if @constant.is_a? Class @constant.class_eval do define_singleton_method method_name, &block end elsif @constant != interface @constant::SingletonMethods.module_eval do define_method method_name, &block end end end end